opengl纹理示例

592 篇文章 7 订阅 ¥99.90 ¥299.90
241 篇文章 13 订阅
这篇博客介绍了在OpenGL中实现纹理映射的过程,包括一个简单的纹理应用例子和第二个示例的编译步骤。遇到的LNK错误如LNK1103和LNK2001进行了详细分析,提到了解决办法,例如修改内存分配语句和添加相关库。还讨论了gltools库和glew库的使用,并提供了资源下载链接。
摘要由CSDN通过智能技术生成

一 一个简单例子

首先做一个简单例子;绘制一个简单的二维纹理图,并将该图像映射到一个四边形上;代码;

#include <stdlib.h>
#include <GL/glut.h> 
#define imageWidth 64
#define imageHeight 64
GLubyte image[imageWidth][imageHeight][3];

/*绘制一个简单的二维纹理图*/
void makeImage(void)
{
 int i,j,r,g,b;

 /*根据点的位置设置不同的颜色*/
 for(i = 0;i < imageWidth;i++)
 {
  for(j = 0;j <imageHeight;j++)
  {
   r = (i*j)%255;
   g = (i*i)%255;
   b = (j*j)%255;

   image[i][j][0] = (GLubyte)b;
   image[i][j][1] = (GLubyte)g;
   image[i][j][2] = (GLubyte)r;
  }
 }
}

void myInit(void)
{
 glClearColor(0.0,0.0,0.0,0.0);

 glEnable(GL_DEPTH_TEST);
 glDepthFunc(GL_LESS);
 makeImage();

 glPixelStorei(GL_UNPACK_ALIGNMENT,1);
 /*指定二维纹理映射*/
 glTexImage2D(GL_TEXTURE_2D,0,3,imageWidth,imageHeight,0,GL_RGB,GL_UNSIGNED_BYTE,&image[0][0][0]);

 /*设置纹理参数*/
 glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值