| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1683 人关注过本帖
标题:请教关于OPENGL顶点数组索引方式绘制图形的问题
取消只看楼主 加入收藏
xyg_wu
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-8-22
收藏
 问题点数:0 回复次数:0 
请教关于OPENGL顶点数组索引方式绘制图形的问题
OPENGL中采用顶点数组索引方式绘制对象时,碰到下面的问题;
GLint face_indicies[6][9] = {
    {2,0,3 ,0,0,0 ,0,1,2 }, {1,3,0 ,0,0,0 ,3,2,1 }
    , {6,4,7 ,1,1,1 ,0,1,2 }, {5,7,4 ,1,1,1 ,3,2,1 }
    , {10,8,11 ,2,2,2 ,0,1,2 }, {9,11,8 ,2,2,2 ,3,2,1 }
};
GLfloat vertices[12][3] = {
{-252.866f,200.469f,-2.1247e-07f},{-246.616f,211.294f,2.1247e-07f},{-252.866f,200.469f,15.0f},
{-246.616f,211.294f,15.0f},{-246.616f,200.469f,-7.30884e-07f},{-252.866f,211.294f,7.30884e-07f},
{-246.616f,200.469f,15.0f},{-252.866f,211.294f,15.0f},{-255.991f,205.881f,-7.10543e-15f},
{-243.491f,205.881f,-7.10543e-15f},{-255.991f,205.881f,15.0f},{-243.491f,205.881f,15.0f}
};
GLfloat normals[3][3] = {
{0.866025f,-0.5f,0.0f},{0.866025f,0.5f,0.0f},{0.0f,-1.0f,0.0f}
};
GLfloat textures[4][2] = {
{0.0f,2.0f},{0.0f,1.0f},{1.0f,2.0f},
{1.0f,1.0f}
};

face_indicies[n]-----第n个三角形
face_indicies[][0-2]----顶点索引
face_indicies[][3-5]----法向索引
face_indicies[][6-8]----体贴坐标索引

采用顶点数组绘图:
glNormalPointer(GL_FLOAT, 0, m_pNormals);
glTexCoordPointer(.....);
glVertexPointer(.....);

glEnableClientState( GL_NORMAL_ARRAY);    
glEnableClientState( GL_TEXTURE_COORD_ARRAY);    
glEnableClientState( GL_VERTEX_ARRAY );    
glDrawElements( GL_TRIANGLES, number_face, GL_UNSIGNED_INT, indices );
glDisableClientState( GL_NORMAL_ARRAY);    
glDisableClientState( GL_TEXTURE_COORD_ARRAY);    
glDisableClientState( GL_VERTEX_ARRAY );    

目前glDrawElements函数只接受一组索引,比如,接受了顶点坐标的索引,那其他两个就无效,如果想绘制出完整的图形(包

括顶点、贴图坐标、法向),该怎么处理。我查阅了相关资料,glDrawElements所接受的索引应该是一个顶点对应一个法向量

、一个贴图坐标,上面的数据倒是可以拆分成,但是那样向绘制函数传送的数据量就会大很多,失去了索引的意义。有哪位兄

弟姐妹能给些建议。万分感谢!!!
搜索更多相关主题的帖子: 天行健 
2008-08-22 13:34
快速回复:请教关于OPENGL顶点数组索引方式绘制图形的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018672 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved