社区
图形处理/算法
帖子详情
请教opengl深度范围太大,glfloat精度不够如何解决
darkccc
2011-09-15 11:06:29
opengl中设置视窗的far和near的问题。
如果要绘制地球场景,地球半径约为6700km,由于float精度为7有效数字,则精度大约为1m,如果要同时在场景中绘制其他1m量级的物体,由于深度检测时精度不够,距离近的面会出现闪烁。
请问这种情况该怎么解决
...全文
414
2
打赏
收藏
请教opengl深度范围太大,glfloat精度不够如何解决
opengl中设置视窗的far和near的问题。 如果要绘制地球场景,地球半径约为6700km,由于float精度为7有效数字,则精度大约为1m,如果要同时在场景中绘制其他1m量级的物体,由于深度检测时精度不够,距离近的面会出现闪烁。 请问这种情况该怎么解决
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fandh
2011-09-16
打赏
举报
回复
存储的数据,放大N倍后存储!
向立天
2011-09-16
打赏
举报
回复
用double或long double
不过有必要这么模拟么?
反正画到屏幕上都是相对的
你也可以按比列缩放啊
Open
GL
3.3
深度
测试
这一篇主要是讲解
深度
测试时怎么工作的 一般
深度
缓冲的
精度
值都是24位
float
存储
深度
缓冲是由窗口系统自动创建的 (具体原理): 如果
深度
测试开启了,则
Open
GL
会将一个片段的
深度
值和
深度
缓冲中的内容做对比
Open
GL
会执行一个
深度
测试,如测试通过,
深度
缓冲会更新为新的
深度
值。如果
深度
测试失败,片段会被丢弃
gl
Clear(
GL
_COLOR_BUFFER_BIT |
GL
_DEPTH_BUF......
android
open
GL
ES详解——
深度
缓冲区
深度
缓存区是指一块专门内存区域,存储在显存中,用于存储屏幕上所绘制图形的每个像素点的
深度
值。
深度
值越大,离观察者越远。
深度
值越小,离观察者越近。
深度
缓冲区与帧缓冲区相对应,用于记录上面每个像素的
深度
值,通过
深度
缓冲区,我们可以进行
深度
测试,从而确定像素的遮挡关系,保证渲染正确。
深度
,指
Open
GL
坐标系中,像素点的Z坐标距观察者的距离。其实就是该象素点在3d世界中距离摄象机的距离(绘制坐标),
深度
缓存中存储着每个象素点(绘制在屏幕上的)的
深度
值!
深度
值(Z值)越大,则离摄像机越远。
Open
GL
深度
测试
深度
其实就是该像素点在3D世界中距离观察者的距离—Z值。
深度
缓存区,就是⼀块内存区域,专⻔门存储着每个像素点(绘制在屏幕上的)
深度
值。
Open
GL
编程入门系列(三)——
深度
测试
作者:禅与计算机程序设计艺术 1.简介
深度
测试(Depth Testing)是
Open
GL
中的一种重要的渲染技术,它能够帮助实现更精确的逼真的光照效果。本文将介绍
Open
GL
深度
测试相关的一些基础知识、概念和算法。 1.1
Open
GL
深度
测试
Open
GL
数据类型
首先我们要讨论的是
Open
GL
的数据类型。因为
Open
GL
是一个跨平台的API,数据类型的大小会随使用的编程语言以及处理器(64位,32位,16位)等的不同而不同,所以
Open
GL
定义了自己的数据类型。当传递数据到
Open
GL
时,你应该坚持使用这些
Open
GL
的数据类型,从而保证传递数据的尺寸和
精度
正确。不这样做的后果是可能会导致无法预料的结果或由于运行时的数据转换造成效率低下。不论平台或语言实现
图形处理/算法
19,472
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章