OpenGL中线框图的消隐(转, 作者Y_Y)
来源:互联网 发布:社交软件有那些 编辑:程序博客网 时间:2024/04/27 17:38
使用深度缓存的2通道绘制的OpenGL实现:
1. 禁写颜色缓存
glColorMask(0, 0, 0, 0);
2. 启用深度测试
glEnable(GL_DEPTH_TEST);
glDepthFunc (GL_LESS);
3. 以多边形填充模式绘制对象,要使用多边形偏移(Pass1)
glPolygonMode (GL_FRONT_AND_BACK, GL_FILL);
glPolygonOffset(1.1f, 4.0f);
glEnable (GL_POLYGON_OFFSET_FILL); //启用多边形偏移
drawScene ();
glDisable (GL_POLYGON_OFFSET_FILL);
4. 启用颜色缓存
glColorMask(1, 1, 1, 1);
5. 采用两种线绘制方式之一绘制对象中包含的线段(Pass2).
具体实现代码
int DrawGLScene(GLvoid) // 从这里开始进行所有的绘制
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除屏幕及深度缓存
glLoadIdentity(); // 重置模型观察矩阵
glTranslatef(0.0f,0.0f,-5.0f); // 移入屏幕 5 个单位
static float xrot=0.0f,yrot=0.0f,zrot=0.0f;
glRotatef(xrot,1.0f,0.0f,0.0f); // 绕X轴旋转
glRotatef(yrot,0.0f,1.0f,0.0f); // 绕Y轴旋转
glRotatef(zrot,0.0f,0.0f,1.0f); // 绕Z轴旋转
glDisable(GL_TEXTURE_2D);
glColorMask(0,0,0,0);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glPolygonOffset(1.1f, 4.0f);
glEnable (GL_POLYGON_OFFSET_FILL); //启用多边形偏移
//auxSolidSphere(1.0);
auxSolidTeapot(1.0);
glDisable (GL_POLYGON_OFFSET_FILL);
glColorMask(1, 1, 1, 1);
glPolygonMode (GL_FRONT_AND_BACK, GL_LINE);
//auxSolidSphere(1.0);
auxSolidTeapot(1.0);
xrot+=1.3f; // X 轴旋转
yrot+=1.2f; // Y 轴旋转
zrot+=1.4f; // Z 轴旋转
return TRUE; // 一切 OK
}
- OpenGL中线框图的消隐(转, 作者Y_Y)
- OpenGL中线框图的消隐
- OpenGL中线框图的消隐
- OpenGL中线框图的消隐
- 一个极好的OpenGL汉字显示类(转,作者Y_Y)
- OpenGL曲面纹理贴图技术--波浪的模拟(转 作者 Y_Y)
- OpenGL的填充属性函数之线框图方法
- 股票投资--中线篇(转)
- viso图中线的控制
- 类图中线的解释
- OpenGL的填充属性函数之线框图方法的改进
- OpenGL的填充属性函数之线框图中消除选定边
- OpenGL中更新一个已绑定的贴图内容(转,作者CloneCenter)
- linux内核的框图
- opengl 投影 glOrtho gluPerspective gluLookAt 转载不同作者的理解
- [转]十个完全免费的网页原型(线框图)工具
- 【中线黑马的K线形态特征】
- 图片中线条的细化处理实验
- oracle--SQL 变量
- 转,面经
- SQL编写规范
- 正则表达式基础知识
- 深入探讨Spring与Struts集成方案
- OpenGL中线框图的消隐(转, 作者Y_Y)
- 《解剖PetShop》系列之二-PetShop数据访问层之数据库访问设计
- SQL Server数据与Excel表的导入导出
- 导出导入SQL Server里某个数据库
- Oracle 常用SQL查询列表
- RAMDISK的制作
- 使用jar发布Java应用程序
- SQL Server与Excel、Access数据互导
- JAVA正则表达式4种常用功能