我正在尝试创建一个立方体.我希望立方体本身是清晰的(黑色,因为背景是黑色的),但我希望12条线条变得薄而白.唯一的方法是创建线条并将它们放在边缘上吗?或者有不同的方法来接近它吗?
原因是我必须创造出在盒子里面弹跳的球.
也许我应该做glBegin(GL_LINES),甚至不担心表面会碰撞,因为我可以用数学方法创建它?
我只是这样创造我的方面:
glBegin(GL_POLYGON);
glVertex3f( -0.5, -0.5, 0.5 );
glVertex3f( -0.5, 0.5, 0.5 );
glVertex3f( -0.5, 0.5, -0.5 );
glVertex3f( -0.5, -0.5, -0.5 );
glEnd();
Run Code Online (Sandbox Code Playgroud)
您只需绘制"线框"立方体即可.您将看到边缘但没有面孔.将填充模式设置为连线并渲染线而不是多边形.
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); // this tells it to only render lines
glBegin(GL_LINES);
// endpoints of 1 line/edge
glVertex3f( ...
glVertex3f( ...
// endpoints of second line/edge
glVertex3f(
glVertex3f(
// on up thru all 12 lines/edges
glEnd();
Run Code Online (Sandbox Code Playgroud)
现在,这不是最有效的.您可以使用线条,或者只绘制6个四边形.但由于这是"第一天",这可能是一个简单的开始.
最终你根本不想使用固定功能 - 它已被弃用.但这将为您提供一个适应矩阵和照明等的环境.当您有严格的宝石渲染时,您将把它放入缓冲区并以大块的形式发送到GPU,让您的GLSL着色器处理显卡上的数据.
欢迎来图文!
| 归档时间: |
|
| 查看次数: |
6097 次 |
| 最近记录: |