网站大量收购独家精品文档,联系QQ:2885784924

OpenGL编程低级错误和常见问题解答.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OpenGL编程低级错误和常见问题解答

HYPERLINK /init/archive/2010/03/12/109542.htmlOpenGL编程低级错误及常见问题解答 低级错误 1.没有glDisable(GL_TEXTURE_2D),导致基本几何作图全部失败。 2.镜头位置没调好,导致所有物体不可见. 3.物体位置数据错误,导致物体大大超出镜头显示范围. 4.纹理没有GL_CLAMP导致边界拼接出现缝线. 5.纹理没有GL_REPEAT导致使用超出1.0纹理坐标技巧失败,显示单色插值. 6.没有glEnable(GL_TEXTURE_2D)导致全白纹理. 7.glEnable(GL_TEXTURE_2D)后没有使用纹理顶点导致如glColor效果的纯单色. 8.应该在作图循环设置灯光位置,因为The?position?is?transformed?by?the?modelview?matrix?when?glLight?is?called?(just?as?if?it?were?a?point),?and?it?is?stored?in?eye?coordinates.? 9.灯光位置应该是4个float,3个float程序不出错,但结果完全扭曲。 10.打开灯光却没设置顶点法线,到头一场空。 11.Window Class 没有CS_OWNDC,导致glDrawPixels失败,如在子窗口View上进行象素写入操作. 12.没有设置PIXELFORMATDESCRIPTOR的cAlphaBits=8,导致glReadPixels读取alpha通道数据失败,统统为0. 13.手动实现的多层纹理闪烁,出现线带,没有使用glPolygonOffset. 14.glDrawPixels格式GL_RGB或GL_BGR_EXT的数据时崩溃,且数据有效,没有使用glPixelStorei(GL_UNPACK_ALIGNMENT, 1);导致图像行默认4字节对齐,导致OpenGL数据读取越界崩溃.相应的要为glReadPixels设置glPixelStorei(GL_PACK_ALIGNMENT, 1); 15.glReadPixel读取被覆盖的OpenGL窗口部分的图像数据时,读出数据混乱无效,OpenGL Pixel Ownership检测导致,标准如此.使用PixelBuffer,或强制置前OpenGL窗口解决. 16.glReadPixels读取总是从FrameBuffer的左下往右上读取,毫无参数可设置改变方向,真是笨到家了. 载入图像一般还是从上到下比较容易理解. 17.使用glDepthMask(GL_FALSE)后不打开,glClear无法清除深度缓冲,导致现象:场景起始静止正常,一旦移动出现不规则的透明无渲染区域,深度缓存逻辑混乱. 18.gluPerspective(45.0f, (GLfloat)cxPixels/(GLfloat)cyPixels, 0.1f, 2000.0f);这里的0.1f将导致物体和地面的相交处闪烁,原因待查,至少取1.0f. 19.没有显示定义shiniess或shiniess为0,在shader中对gl_FrontMaterial.shininess使用pow计算,结果不可测,黑色条带闪烁,quite not understand. 常见错误 问:OpenGL中的Stencil Buffer是什么东西? 答:模板缓存(Stencil Buffer)。它可以保持屏幕上某些部位的图形不变,而其它部位仍然可以进行图形绘制。比方说,可以通过模板缓存来绘制透过汽车挡风玻璃观看车外景物的画面。首先,将挡风玻璃的形状存贮到模板缓存中去,然后再绘制整个场景。这样,模板缓存挡住了通过挡风玻璃看不见的任何东西,而车内的仪表及其它物品只需绘制一次。因此,随着汽车的移动,只有外面的场景在不断地更改。 问:glos.h是什么文件? 答:判别操作系统的头文件。 问:OpenGL的左右缓冲区如何使用?即:gldrawbuffer()中的,GL_RIGHT、GL_LEFT参数的使用。我想做一副立体图,(两副图像交替在屏幕上不停刷新)。 图形加速卡选用的是华硕的3800带立体镜的那一种。 答:这需要看驱动程序是否支持OpenGL的左右缓冲区。据我们所知,华硕显卡不带这样的驱动。而象Diamond Fire GL系列、ELSA的Glorial系列等显卡支持这种功能。在购买显卡时,应认清驱动程序的支持性能。 问:请问用在OpenGL编程中有哪些方法可以得到两个曲面的交线? 答:OpenGL用于绘制图形,没有交线计算,需要自行开发算法。 问:关于OpenGL中雾的问题。 答:首任蚁胨狄幌翺penGL中雾的定

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档