2012-08-30 75 views

回答

0

只需使用OpenGL纹理坐标即可。在旧的GL中:

glBegin (GL_QUADS); 
    glTexCoord2f (0.0, 0.5); glVertex2f (0, 0); 
    glTexCoord2f (0.5, 0.5); glVertex2f (1, 0); 
    glTexCoord2f (0.5, 1.0); glVertex2f (1, 1); 
    glTexCoord2f (0.0, 1.0); glVertex2f (0, 1); 
glEnd(); 

这将使用图像的左上角四分之一。

+0

左上边缘将用这些纹理坐标略微包裹到右下角的像素中。纹理就像网格规则纸,像素在单元中居中,但纹理坐标0和1映射到边界线。 – datenwolf

+1

嗯,这取决于包装模式,对于平铺纹理,您不会选择“WRAP”。无论如何,这是一个更普遍问题的一部分:[纹理地图集上的过滤和mipmapping](http://www.infinity-universe.com/Infinity/index.php?option=com_content&task=view&id=65&Itemid=47)。 – Yno