首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GL_TRIANGLE_FAN和纹理问题

GL_TRIANGLE_FAN和纹理问题
EN

Stack Overflow用户
提问于 2012-05-29 17:18:49
回答 1查看 1.1K关注 0票数 3

我用一个三角形的扇子画了一个半圆,代码如下:

代码语言:javascript
复制
    marco.bind();
    gl.glPushMatrix();
    gl.glTranslated(-3.5,2,10.51);
    gl.glBegin(gl.GL_TRIANGLE_FAN);
    for(int i = 1; i <= 9; i++){
        double x = 0.7 * Math.cos(angulo);
        double y = 0.7 * Math.sin(angulo);
        System.out.println ("Valor de X:" + x + " Valor de Y:" + y);
        gl.glTexCoord2d(x, y);gl.glVertex3d(x, y, -0.5);
    angulo += inc_angle;

但是我没有达到我想要的视觉效果,我的真实纹理是这样的:

取而代之的是我得到了这样的东西:

现在我得到了这个

我的形象有问题吗?我认为需要走捷径。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-29 17:48:14

纹理坐标在range (0,0) - (1,1)中,对象坐标在range (-0.7,-0.7) - (0.7,0.7)中。您需要将对象坐标转换为纹理上的正确坐标。

例如:

代码语言:javascript
复制
double x = Math.cos(angulo);
double y = Math.sin(angulo);
gl.glTexCoord2d(x*0.5+0.5, 1.0-y);
gl.glVertex3d(x*0.7, y*0.7, -0.5);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10796287

复制
相关文章

相似问题

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