Questions tagged «planet»

1
哪种方法最适合渲染星球?
我目前正在研究论文,它是渲染行星大小地形的引擎。 我仍在完成研究,并且遇到了很多与此主题有关的问题,但问题是我无法确定应该使用哪种详细程度(LOD)方法。 我了解Ulrich的geomipmapping,几何剪贴图(GPU)和分块LOD,它们在较大的地形上都能很好地工作,并且可以用于渲染多维数据集的6个面,然后通过此方法 “球形化”多维数据集,并且我了解如何实现所有这些在GPU上使用C ++ / OpenGL / GLSL的方法(使用ROAM之类的方法或任何其他不使用多维数据集的方法都无法使用,因为纹理化是很麻烦的)。另外我最近也在这里学习了使用镶嵌细分着色器渲染地形的教程。 因此,我没有时间去实现所有方法,而是看看哪种方法最合适,更适合于行星尺度,我在这里询问是否有人进行了这种比较,并帮助我确定了哪种方法我应该实现和使用吗(我的导师有点疯狂,想让我用二十面体做某事,但是除非使用ROAM,否则我无法理解该方法) 无论如何,如果您能帮助我做出决定或有其他建议或方法,我将不胜感激。一个条件是该方法应该能够实现GPU端(至少是其中的大部分),以防止CPU瓶颈。 另一个要求是,当我在地形中获取大量细节时,我知道关于浮子精度的数值问题,我不知道如何解决,我在论坛上阅读了一个解决方案,但无法理解如何解决。实现,我失去了对该线程的跟踪,我想知道如何解决这个精度问题。 我目前正在阅读有关一些矩阵转换的信息,以解决浮点精度,z对抗问题,使用动态z值进行视锥剔除以及大块的数据表示(使用具有浮点的补丁空间及其在世界坐标中的位置为double)我认为我可以轻松解决精度问题。我仍然需要在LOD方法与您的意见和建议之间进行比较,以决定哪种方法更适合该项目。考虑实施难度,视觉质量,性能,我想要最好的。 我忘了提到的是,这一代是混合的,我的意思是,我应该能够完全使用GPU(即时计算的高度)和/或使用基本的高度图图像渲染地球,并使用GPU(顶点)添加细节着色器)。纹理化是我会麻烦的一个侧面部分,现在我很高兴只使用取决于高度的颜色,或者使用片段着色器上生成的某种噪声纹理。

2
大气伪影对大气的散射
我正在实现行星从太空的大气散射。我一直使用http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter16.html中的Sean O'Neil的着色器作为起点。 除了SkyFromSpace着色器与GroundFromSpace着色器不同之外,我与fCameraAngle有几乎相同的问题,如下所示:http ://www.gamedev.net/topic/621187-sean-oneils-atmospheric-scattering/ 当不在fCameraAngle = 1内部循环中使用时,我从太空着色器中获得了天空的奇异伪像。这些伪影的原因是什么?当fCameraAngle限制为1时,伪像消失。我似乎也缺少O'Neil沙箱(http://sponeil.net/downloads.htm)中的色相。 相机位置X = 0,Y = 0,Z = 500。左侧为GroundFromSpace,右侧为SkyFromSpace。 相机位置X = 500,Y = 500,Z = 500。左侧为GroundFromSpace,右侧为SkyFromSpace。 我发现,根据来源,相机角度似乎处理起来非常不同: 在原始着色器中,SkyFromSpaceShader中的摄影机角度计算为: float fCameraAngle = dot(v3Ray, v3SamplePoint) / fHeight; 而在空间着色器的地面中,摄影机角度的计算公式为: float fCameraAngle = dot(-v3Ray, v3Pos) / length(v3Pos); 但是,在线上的各种消息来源都在修补射线。为什么是这样? 这是一个C#Windows.Forms项目,该项目演示了该问题,并且我已使用该项目来生成图像:https : //github.com/ollipekka/AtmosphericScatteringTest/ 更新:我从O'Neil站点上的ScatterCPU项目中发现,当摄影机位于阴影点上方时,摄影机射线被否定,以便计算从点到摄影机的散射。 更改射线方向的确确实消除了伪影,但引入了其他问题,如下所示: 此外,在ScatterCPU项目中,O'Neil可以防止光线的光学深度小于零的情况: float fLightDepth = Scale(fLightAngle, fScaleDepth); …

1
在不平坦的行星表面上寻路
我的问题是在不平坦的行星表面上寻路的最佳方法是什么? 背景资料 我通过位移映射6个球面投影平面创建了一个行星。这些平面在投影为球形之前先形成一个立方体。 我想知道是否可以将每个“球面投影的立方体面”用作网格并使用简单的A *算法来找到最佳的可能路线,我也希望考虑位移高度,以便该路径避免爬升山脉等(我想这只是A *算法中的一种启发法)。另一个考虑因素是,我通过利用Unity3d的物理引擎实现了行星运动,将重力应用于行星中心。我提出的解决方案是否需要对重力运动进行独立控制。 为了更好地阐明我的问题,这是我目前的行星体:

6
2D行星纹理的3D幻觉
几年前,我无意间听到了一种使用2D纹理为用户提供旋转行星幻觉的技术。鉴于用户无法更改其位置或视口。 这种技术叫什么名字?
10 2d  3d  terminology  planet 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.