Questions tagged «textures»

纹理映射过程中使用的位图(光栅图像)。

2
详细纹理需要更长的渲染时间吗?
假设我要渲染一个正方形;它的纹理是“ square.png”。 如果纹理只是纯色,计算机是否更容易渲染它? 如果它是一个非常嘈杂的纹理,到处都是完全随机的颜色,那该怎么办? 或者,如果该纹理在每个像素之间都不同,但只有一点点不同的意义上又是嘈杂的,该怎么办?

3
Megatexture如何工作?
我一直在考虑开发一个小型引擎,不仅可以开发小型实验游戏,而且还可以作为测试各种渲染技术和类似东西的基础。现在,我一直在思考如何处理纹理并迷失在大型纹理上,但这有些令人困惑。有很多传言说它要比传统方法更好,可以围绕一堆纹理并根据需要加载它们,但是超大纹理如何避免这种情况,我已经读到它们使用流式传输,您可以流式传输而不是分别加载每个纹理,但是这如何提供更好的性能,而不仅仅是耕作的另一种形式吗? 在着色器中如何采样这种纹理,如何将其一部分流式传输到内存中然后进行处理。我看过Rage的最新视频,其质感确实很棒,但这仅仅是伟大的艺术家的产物还是这项技术发挥了作用。 总结一下,它是如何工作的,为什么它很棒,我该如何做类似的事情。
21 textures 

4
程序行星,高度图和纹理
我目前正在开发OpenGL程序行星生成器。我希望将其用于太空RPG,它将不允许玩家进入行星表面,因此我忽略了与ROAM相关的任何内容。目前,我正在绘制带有VBO的立方体并将其映射到球体上。 我熟悉大多数分形高度图生成技术,并且已经实现了我自己的中点位移版本(在我所知道的情况下没有那么有用)。 我的问题是,程序上生成高度图的最佳方法是什么。我看过libnoise,它使我可以创建可调整的高度图/纹理,但据我所知,我需要生成一个像这样的网。 使平铺变得明显。 有人可以建议我采取最佳路线吗? 任何输入将不胜感激。

2
GPU如何处理纹理和VRAM?
实际上,这是一系列相互关联的问题: 经过渲染管道时,压缩纹理(dxt5 / dxt1等)是否已完全解压缩? 如果第一个问题的答案是正确的,那么如何管理几个未压缩的大型纹理? 帧缓冲与现代GPU中的VRAM有什么不同吗?
18 textures  gpu  memory 


1
程序网格:UV贴图
我制作了一个程序网格,现在我想对其应用纹理。问题是,我无法按照自己的意愿坚持下去。 想法是在整个网格上仅将纹理绘制一次,这样就不会重复。我应该如何绘制UV才能做到这一点? 我的网格是由56个三角形组成的简单平面。我会添加图片来清除问题,但是由于我的声誉低于10分,所以无法添加。 任何帮助表示赞赏。 编辑(亲切的人给了我投票,谢谢): 认识我的网格物体: 而当纹理(试图重复纹理): 而我的质感: 编辑2: bummzack的指令就像一个护身符一样工作,并且网孔也按我想要的那样纹理化。谢谢。

5
在OpenGL中渲染文本的首选方法
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 2年前关闭。 我将再次为大学项目准备计算机图形学。在以前的项目中,我使用了一个名为FTGL的库,它感觉很沉重(我尝试了很多渲染技术,但是文本渲染的伸缩性不是很好),对此我并不满意。 我的问题是,是否有一个良好且高效的库?如果不是,那么实现快速但美观的文本的方式将是什么?一些预期用途是: 浮动对象/字符标签 对话对话 选单 平视显示器 编辑:最好也可以加载字体

1
最大纹理大小Android:2048x2048的哪些设置?
我想在我的游戏中使用2048 x 2048的纹理图集,并且我想警告用户“过低”的设备不要下载游戏。 有了如此大小的纹理图集,我对ANDROID有什么要求? 该图像(来源:https ://stackoverflow.com/questions/10392027/recommended-limit-for-memory-management-in-cocos2d)显示了IPHONE的要求,而对于ANDROID:最低为512Mo,频率为1GHz的情况是这样的正确的要求? 感谢您的回答

1
使用分层的alpha四边形是否适合地面雾?
分层方法将使用一系列与地面平行排列的大块alpha纹理化四边形,与所有介入的地形几何相交,从而从上到下,俯视到地面时都非常有效地提供了地面雾的幻觉,而在雾中时,效果却稍差一些。朝着地平线看(见下图)。 替代地,主要基于着色器的方法将改为根据进入地面雾化基底的视距来计算密度,并基于该密度输出片段值。 在不必亲自测试每种方法的性能的情况下,我想先听听别人对分层alpha纹理方法可能会产生什么样的性能影响的经验(而不是猜测!)。我特别要问的是,透支经常会受到影响(不确定填充率对普通台式机系统的限制)。使用此方法的游戏列表,尤其是较旧的游戏,将非常有用:如果在DX9 / OpenGL2之前的硬件上可行,那么对我来说可能很好用。 关于这种效果,一个大问题是: (图片来源:lume.com的Lume) 请注意垂直雾的渐变如何连续/平滑。OTOH,使用带纹理的四层,我只能假设遍历它们时这些层会非常明显-它们越稀疏,就越明显。这与雾面对齐以每帧面向播放器的情况相反,在这种情况下,这种粗糙程度将不那么明显。
16 opengl  3d  textures  shaders 

7
程序像素着色器效果有哪些很棒的示例?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 程序或屏幕空间像素着色器效果的一些好例子是什么?无需任何代码;我只是在寻找灵感。 特别是,我正在寻找不依赖于几何图形或场景其余部分的效果(因此,它们看起来可以单独在四边形上渲染)并且不基于图像处理(它们不需要“基本图像” ”,尽管它们可以包含纹理)。多遍或单遍都可以。屏幕截图或视频会是理想的选择,但创意也可以。 下面是我在寻找什么的(全部来自RenderMonkey的样品)的几个例子: 替代文字http://public.blu.livefilestore.com/y1pXcNg_0EPZVzwu1T84a4Yek373x8062rhrNCA7UcftTjCkeiY-5uAuJiBYY29x2E53p5MO-uMA8FmEquvxsPCkA/effect1.jpg?psid=1 替代文本HTTP :?//public.blu.livefilestore.com/y1p_5Lx7BdjFyFRBkbcc0WakAT7Q-99fVcFOxmTXBbG4VtoFzC0UfAj51eSnE7ZOD84EYL2Y51HhMS2nWsohhn1mQ/effect2.jpg PSID = 1 替代文字http://public.blu.livefilestore.com/y1p_5Lx7BdjFyE3KhYtHe-Cdg7XuXcJ9Ou-GKzED-kZnzACyB5ypA6NSCfsYfuKa0h3ztoDRwwq9qBddX2OfG0fhg/effect3.jpg?psid= 1个替代文字http://nv3wrg.blu.livefilestore.com/y1p1iHFwf-wytDo8HlTJca8RfckA-iTKgvLiJm0t9iz3S35YgeEnt99NMjKDgotxa3Bv90wAhOYLabzx2Sd3LoEH2Hf76fect1FM。 我知道这个问题 ; 我不是在寻求实际着色器实现的来源,而是在寻求一些鼓舞人心的想法-NVIDIA Shader Library中的想法大多需要场景或图像处理效果。



2
加快程序纹理的生成
最近,我开始研究在程序生成的太阳系中进行的游戏。经过一番学习之后(之前都没有使用Scala,OpenGL 2 ES或Libgdx进行过学习),我进行了一个基本的技术演示,您将围绕一个程序化纹理的行星旋转: 我遇到的问题是纹理生成的性能。我正在做的事情的简要概述:行星是已变形为球体的立方体。每一面都应用anxn(例如256 x 256)纹理,该纹理捆绑在一个8n xn纹理中,并发送到片段着色器。最后两个空格未使用,它们仅用于确保宽度为2的幂。使用在'Simplex'论文中链接的2012年更新的单纯形噪声算法,当前正在CPU上生成纹理。噪音消失了。我用来测试算法的场景包含两个球体:行星和背景。两者都使用由六个八度的3D单工噪声组成的灰度纹理,因此,例如,如果我们选择128x128作为纹理大小,则有128 x 128 x 6 x 2 x 6 =约120万个噪声函数调用。 您最接近地球的是屏幕快照中显示的内容,并且由于游戏的目标分辨率为1280x720,这意味着我希望使用512x512纹理。结合这样的事实,实际的纹理当然比基本噪声要复杂(白天和黑夜的纹理,将基于阳光和镜面反射的片段着色器混合在一起。我需要大洲的噪声,地形颜色变化,云层,城市的灯光等),而我们正在寻找的是512 x 512 x 6 x 3 x 15 =仅此星球就需要7,000万个噪声的东西。在最终游戏中,行星之间旅行时会有活动,所以等待5或10秒(可能是20秒)是可以接受的,因为我可以在旅行时计算背景纹理,尽管显然速度越快越好。 回到我们的测试场景,我的PC上的性能并不是太糟糕,尽管考虑到最终结果将比原来差60倍,但仍然太慢了: 128x128 : 0.1s 256x256 : 0.4s 512x512 : 1.7s 这是在我将所有对性能至关重要的代码移至Java之后的事情,因为在Scala中尝试这样做要差得多。但是,在我的手机(三星Galaxy S3)上运行它会产生更成问题的结果: 128x128 : 2s 256x256 : 7s 512x512 : 29s 已经太长了,这甚至没有考虑到最终版本将是分钟而不是秒的事实。显然需要做些事情。就个人而言,我看到了一些潜在的途径,尽管我并不特别热衷于其中任何一种: 不要预先计算纹理,而是让片段着色器计算所有内容。可能不可行,因为有一次我将背景作为具有像素着色器的全屏四边形,并且手机上的速度约为1 fps。 …

2
尽管使用了Time.deltaTime,但移动似乎与帧速率有关。
我有以下代码来计算在Unity中移动游戏对象所需的转换LateUpdate。据我了解,我对的使用Time.deltaTime应使最终的翻译帧速率独立(请注意CollisionDetection.Move(),仅用于进行射线广播)。 public IMovementModel Move(IMovementModel model) { this.model = model; targetSpeed = (model.HorizontalInput + model.VerticalInput) * model.Speed; model.CurrentSpeed = accelerateSpeed(model.CurrentSpeed, targetSpeed, model.Accel); if (model.IsJumping) { model.AmountToMove = new Vector3(model.AmountToMove.x, model.AmountToMove.y); } else if (CollisionDetection.OnGround) { model.AmountToMove = new Vector3(model.AmountToMove.x, 0); } model.FlipAnim = flipAnimation(targetSpeed); // If we're ignoring gravity, then just …

4
避免资源的双重压缩
我将.pngs用于纹理,并在.zip游戏项目的文件中使用虚拟文件系统。这意味着我的纹理被压缩和解压缩了两次。这个双重压缩问题的解决方案是什么?我听说过的一种解决方案是将.tgas用于纹理,但是似乎很久以前,因为我已经听说过。另一个解决方案是在上实施解压缩GPU,由于这样做很快,因此无需考虑开销。

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.