openGL 程序运行后窗口里面没东西,已经不止一次了。下面是代码,求解答。

openGL 程序运行后窗口里面没东西,已经不止一次了。下面是代码,求解答。,第1张

先来回答你的问题。

无法显示的原因,投影设置的视见体没有将你定义的矩形模型包括在内。

直观来讲,你可以将gluOrtho2D试着调整为:

gluOrtho2D(-100,300.0,-100,300.0)同时设置背景为黑色,则得到效果:

进步一解释:

OpenGL中图形成像依赖于你定义的模型,比如你设置的4个position1

量以及投影时设置的投影参数,比如你用的gluOrtho2D。

你的代码中模型和投影参数设置都不是很理想,使用gluOrtho2D设置的正交投影裁剪平面的范围

(0,40.0,30.0,150.0)没有将你要显示的矩形模型包括在显示区域内,因此无法渲染。

注意设置适当的参数,这是初学者需要耐心学习的。你的代码看起来很混乱,最好采用一本适当教材(红宝书),或者跟着一个教程(搜索 OpenGL tutorial)实际动手学习。

对于这个例子,同时思考: 为什么是三角形而不是矩形?

为什么我之前的图形没有显示出来?

阴影映射—OpenGL实现

典型的阴影比较过程

glBindTexture(GL_TEXTURE_2D, depthMap)//绑定深度图纹理

glEnable(GL_TEXTURE_2D)

//启用深度比较

glTexParameteri(GL_TEXTURE_2D,

GL_TEXTURE_COMPARE_MODE_ARB,

GL_COMPARE_R_TO_TEXTURE)

//深度比较函数 (if r <=texture then not in shadow)

glTexParameteri(GL_TEXTURE_2D,

GL_TEXTURE_COMPARE_FUNC_ARB, GL_LEQUAL)

//深度比较应产生的结果的形式

glTexParameteri(GL_TEXTURE_2D,

GL_DEPTH_TEXTURE_MODE_ARB,

GL_ALPHA)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8110838.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存