游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2306|回复: 3

gluPerspective张角设为4度遇到的问题,求助

[复制链接]

6

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2006-7-31 18:01:00 | 显示全部楼层 |阅读模式
gluPerspective(4, 1.33333, 0.1, 50000.0);
视点和物体距离远了之后,物体前后表面的纹理会出现交错。

请问在这样的小角度情况下出现这种问题是OpenGL本身的缺陷,还是深度检测的方法需要更改,或者是其他什么原因造成的?

我的深度检测是:
glClearColor(0.8f, 0.8f, 0.85f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();

glClearDepth(1.0f);       
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);

41

主题

184

帖子

184

积分

注册会员

Rank: 2

积分
184
发表于 2006-8-1 07:26:00 | 显示全部楼层

Re: gluPerspective张角设为4度遇到的问题,求助

把源码贴以下,我帮你看看。

可能是深度检测的问题,物体被压缩到一起,在近似中把深度坐标搞混。

6

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
 楼主| 发表于 2006-8-1 09:46:00 | 显示全部楼层

Re:gluPerspective张角设为4度遇到的问题,求助

深度检测部分的代码就是我在1楼贴的,其余部分的绘制调用的是显示列表,跟平常的代码没什么区别。

我试过把Nehe的lesson 7代码改成张角4的,推远之后的确也出现了这样的问题。

41

主题

184

帖子

184

积分

注册会员

Rank: 2

积分
184
发表于 2006-8-5 21:45:00 | 显示全部楼层

Re: gluPerspective张角设为4度遇到的问题,求助

这个我知道,把深度缓冲区的位数设为32位或64位试试,如果可能的话,就是近似的误差。否则,只要让我看解图和源码了,也许还不能给你解答。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 01:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表