首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法转换glDrawTex绘制的矩形?

问有没有办法转换glDrawTex绘制的矩形?
EN

Stack Overflow用户
提问于 2012-02-06 09:06:06
回答 1查看 207关注 0票数 0

正如OpenGL规范声明的那样,所有的转换都被设计忽略了,但是有没有一种像glDrawTex一样简单的方法来绘制纹理,但是之前用矩阵转换像素呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-06 09:27:09

难道你不能简单地修改glDrawTex函数的x/y/z参数来将纹理变换到你想要的位置吗?但是,如果你想旋转纹理,那么只需使用两个三角形绘制带纹理的四边形。这很简单。假设您使用的是OpenGL ES 1.1版:

代码语言:javascript
复制
const float v[] = {
    0,   0,    0, 0,
    0, 128,    0, 1,
  128,   0,    1, 0,
  128, 128,    1, 1,
};

glBindTexture(GL_TEXTURE_2D, texId);
glEnable(GL_TEXTURE_2D);

glTexCoordPointer(2, GL_FLOAT, 4*4, &v[2]);
glVertexPointer(2, GL_FLOAT, 4*4, &v[0]);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnableClientState(GL_VERTEX_ARRAY);

glDrawArrays( GL_TRIANGLE_STRIP, 0, 4);

(我假设你正在使用正交投影绘图,128是纹理的大小)

通过这种方式,可以使用模型视图矩阵修改纹理位置。此外,纹理矩阵还可用于修改如何将纹理应用于三角形。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9154592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档