怎么理解渲染?
性能有两点要求需要满足。
● 在某个固定的平台上必须要达到一定的帧率。
就是说,看起来至少每秒得能够有75帧,其实必须要达到90帧才不会晕眩。
● 必须要满足游戏设计艺术家的要求。
这并不是说特i效堆的越多越好,或者说做出来的渲染越真实越好,3d灯光渲染,并不是这样。
比如说,你的游戏可能是水墨风格,可能是美术风格。你用现有的技术把它做的非常漂亮,这是一个很好的渲染系统所必须拥有的特性。
我们想到的现在比较优秀的作品,比如说《使命召唤》或者《战地》。为什么它们能够在PS4上跑出这么优秀的效果?
除了美术过硬之外,他们也使过非常多的光照、贴图、建模上的技术去实现效果。
当然,在VR里面,这些渲染实现会更加的难。
因为大家都知道,VR是两只眼睛,通过左右眼的视差去产生立体感。
首先,至少要渲染两个runnertarget,也就是说两幅图像;
其次,平常我们使用的PS4或PC上的分辨率1080p已经非常高了,现在渲染的分辨率要2k(HTC的分辨率是2k,Oculus的分辨率也是2k以上),两只眼睛,3d渲染素材,同时帧率还不能说只达到60FPS,而必须达到75FPS或者90FPS。
在这种情况下,你必须要牺牲掉一些效果。甚至说,3d渲染玻璃,你要牺牲掉很多效果去达到基本的性能要求。
在这个情况下,优化就显得非常重要。
锯齿还有一个比较重要的因素,就是我们在VR里,陕西渲染,眼睛离屏幕非常近。
同时,我们的眼睛一直在运动的。
那么,我们平常在用电脑玩游戏或者手机玩游戏的时候,一些比较不明显的画质上的差异它就会体现出来,特别明显的就是锯齿。
玩游戏比较多的人知道有个名词叫“狗牙”。比如说一个非常细的多边形,我看上去会有一段一段一段的“狗牙”,或者说一块金属反射的高光,我在玩的时候它会不停的闪烁,就会让人感觉画面很不稳定。
而在VR里面这种情况更加的严重,也就是我们通常说的抗锯齿会变得更加的重要。
纹理混合和绑定技术
如果到GPU渲染的时候,GPU会根据用户的需要,给每个**点着色(如果这个词太晦涩,那么就是“上色”)。着色可以是直接的颜色,也可以是从一张图(纹理图)中得到。纹理绑定就是告诉GPU,“这次着色如果遇到要从图中取色,那么你用这张图”。这个在OpenGL和DX都是相关的API供用户调用。纹理混合,先说个简单的例子就是苹果手机上的“毛玻璃”效果,展现出的隐隐约约看到图像后面的背景,就是“混合”出来的。把前景的像素(即将被绘制到屏幕的像素)和背后的像素(已经展现在屏幕上的)用一定的算法加、减、乘在一起,这样最后的展现出的像素就是前后两个像素的颜色的混合体。纹理混合就是告知GPU需要做这样的事情,可能是多张纹理间混合色彩,可能是跟背景色混合色彩。也对应到OpenGL和DX的不同的API。