通过绘制一个三菱锥初步了解绘制平面多面体。
<span style="font-size:18px;">#include<windows.h>
#include<gl/gl.h>
#include<gl/glut.h>
#include<gl/glu.h>
#include<stdio.h>
//窗口的大小
GLsizei windowWidth;
GLsizei windowHeight;
//旋转角度参数
static GLfloat xRot = 0.0f;
static GLfloat yRot = 0.0f;
//确定多边形的绕法的方向
BOOL bDepth = FALSE; //深度测试开关
BOOL bCull = FALSE; //剔除开关
//初始化窗口
void SetupRC(void)
{
//设置窗口背景西颜色为黑色
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
//指定多变形的阴影模式为平面阴暗模式
glShadeModel(GL_FLAT);
}
void ChangeSize(int w, int h)
{
if (h == 0)
h = 1;
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if (w <= h)
{
glOrtho(-100.0f, 100.0f, -100.0f*h / w, 100.0f*h / w, -100.0f, 100.0f);
}
else
{
glOrtho(-100.0f*w / h, 100.0f*w / h, -100.0f, 100.0f, -100.0f, 100.0f);
}
glMatrixMode(GL_MODELVIEW);
glLoadIdent
OpenGL平面多面体绘制与深度测试

本文介绍了如何使用OpenGL绘制平面多面体,以三菱锥为例,展示了启用深度测试前后的效果,解释了深度测试的重要性,以及如何启用和关闭深度测试。同时,讨论了隐藏表面剔除技术,通过GL_CULL_FACE实现剔除封闭物体内部表面,提高渲染性能。
最低0.47元/天 解锁文章
4万+

被折叠的 条评论
为什么被折叠?



