gpt4 book ai didi

c++ - X、Y 宽度、高度到 OpenGL 纹理坐标

转载 作者:行者123 更新时间:2023-11-28 07:31:36 25 4
gpt4 key购买 nike

如果我有一个 256 x 256 纹理,以及一个 32 x 32X: 192 Y: 128 的图像,什么算法将用于使用 glTexCoord2f 仅在 X: 192 Y: 128 处绘制 32 x 32 图像(以剪切出其他部分图片)?

这是我想做的一个例子。蓝色/红色框将是我想要使用的。但我只想画那个盒子,周围没有任何东西,或者整个纹理。

http://i.imgur.com/lTuGFou.png

最佳答案

这是你想要的吗?

float f = 1.0f/256.0f;
glBegin( GL_QUADS );
glTexCoord2f( 192 * f, 128 * f );
glVertex2f( 192, 128 );

glTexCoord2f( (192 + 32) * f, 128 * f );
glVertex2f( 192 + 32, 128 );

glTexCoord2f( (192 + 32) * f, (128 + 32) * f );
glVertex2f( 192 + 32, 128 + 32 );

glTexCoord2f( 192 * f, (128 + 32) * f );
glVertex2f( 192, 128 + 32 );
glEnd();

请记住,纹理坐标缩放到 <0,1> 区间。 OpenGL 3 中也弃用了中间模式。

关于c++ - X、Y 宽度、高度到 OpenGL 纹理坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17588314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com