POPPUR爱换

标题: 小白求教~游戏渲染和3d软件渲染的区别? [打印本页]

作者: 诸    时间: 2007-10-18 20:03
标题: 小白求教~游戏渲染和3d软件渲染的区别?
为何电脑在运行游戏时,每秒可以渲染几十张画面
而在运行3d渲染软件时,差不多质量的图片可能需要数十分钟甚至数小时?

游戏引擎与3d渲染软件有哪些异同?

为什么大部分个人用的3d渲染软件 渲染时只占用cpu资源,显卡并不参与到此过程?
而游戏的渲染应该是由cpu配合显卡完成的
作者: fineday    时间: 2007-10-18 20:21
简单来说,3D软件靠CPU,3D游戏靠显卡
作者: sylphid    时间: 2007-10-18 20:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: 诸    时间: 2007-10-18 20:39
原因呢?
有人可以深入浅出的讲讲么……………………………………………………
作者: hsy-x    时间: 2007-10-18 21:00
游戏中的3角形才多少啊...3d软件中的是多少个,这个就不能比了你看看游戏中那些明显的棱角..,你自己去想想.......3d软件还有那么多的特效...全局光..真实的物理置换(renderman,mr支持..)..3s(蜡烛那样的半透明效果)...物理级的流体....软阴影..还有很多特性..还有大量高精度的帖图....这些游戏也是不能比的......你看过有游戏比软件渲染更真实的吗..renderman,mr..都是好来屋的电影里所用的电影级的渲染软件啊...
作者: 诸    时间: 2007-10-18 21:05
原帖由 hsy-x 于 2007-10-18 21:00 发表
游戏中的3角形才多少啊...3d软件中的是多少个,这个就不能比了你看看游戏中那些明显的棱角..,你自己去想想.......3d软件还有那么多的特效...全局光..真实的物理置换(renderman,mr支持..)..3s(蜡烛那样的半透明效果).. ...



电影级的先不说……
我挑一个自己比较熟悉的来说吧
C4D
画面中反射材质不算很多,不开全局光照和HDRI贴图时,渲染一张1024×768的图也要50s左右
而游戏渲染的速度是几十分之一秒

他们之间质量相近时,时间差别就这么大?
作者: 诸    时间: 2007-10-18 21:09
原帖由 sylphid 于 2007-10-18 20:37 发表
大部分跑OPENGL的3D建模軟件中負責頂點產生的都是CPU而不是GPU(基於D3D的也是很多)
再快的民用級GPU也只能加快材質渲染速度而已
3D軟件中模型/腳本是實時產生的的,,,,遊戲中模型是預置的,,,,,

應該大概是這樣 ...


模型是预置的……3d软件的模型也是事先做好的呀……
之前我也有听说过“预置”的说法,但是具体3d游戏预置了哪些内容我就不明白了
在我看来3d软件渲染前材质、贴图、模型、光源位置也都确定了,所以还是不明白……

还有就是你说的GPU只能加快材质渲染的速度,
如果是这样为什么3d渲染软件不能充分利用GPU的性能参与到渲染过程中去呢?
作者: sylphid    时间: 2007-10-18 21:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: hsy-x    时间: 2007-10-18 21:11
:wacko: :wacko: :wacko: 游戏里的是预设的啊.....你在c4d里操作视窗可以看做是游戏的画面.....这2个才是通过显卡的
作者: hsy-x    时间: 2007-10-18 21:14
你应该从dx和op去想这个问题
作者: hsy-x    时间: 2007-10-18 21:19
dx和op都是API接口..
作者: hsy-x    时间: 2007-10-18 21:23
游戏通过api向显卡输入数据..而显卡就是高速处理特定数据的机器.....
作者: hsy-x    时间: 2007-10-18 21:28
如果有什么特定的模拟器的话...cpu也可以干显卡的那些事情..只不过会比较慢而已...打个比方你叫一个大老板去干一些手工细活的事,能干的快吗....当然这个和3d软件是完全的2马事....
作者: 诸    时间: 2007-10-18 21:31
原帖由 hsy-x 于 2007-10-18 21:11 发表
:wacko: :wacko: :wacko: 游戏里的是预设的啊.....你在c4d里操作视窗可以看做是游戏的画面.....这2个才是通过显卡的



啊这么说我有点理解………………………………………………
作者: 诸    时间: 2007-10-18 21:32
原帖由 hsy-x 于 2007-10-18 21:28 发表
如果有什么特定的模拟器的话...cpu也可以干显卡的那些事情..只不过会比较慢而已...打个比方你叫一个大老板去干一些手工细活的事,能干的快吗....当然这个和3d软件是完全的2马事....




那为啥渲染软件不能让GPU来加速捏?……………………………………
作者: feng76    时间: 2007-10-18 21:33
说不清就别说了.
作者: hsy-x    时间: 2007-10-18 21:42
原帖由 于 2007-10-18 21:32 发表




那为啥渲染软件不能让GPU来加速捏?……………………………………

渲染软件里的数据可不是GPU能处理的啊...你没听过隔行如隔山吗....渲染软件,,比较说maxwell  它是用真实的光谱的计算原理,,,来展现和还原显示场景的...它渲染时所让cpu处理的的数据不是GPU能 所处理的......GPU只是一个听指挥的机器人而已.......当然现在GPU也可以参加渲染了..nv出了个软件可以让它的Q系列显卡可以增加maya的硬件渲染.....当然效果也是比较简单的速度也是比较快的
作者: hsy-x    时间: 2007-10-18 21:45
:blink: :blink: :blink: 打了这么多的字....累死..
作者: 诸    时间: 2007-10-18 21:53
原帖由 hsy-x 于 2007-10-18 21:45 发表
:blink: :blink: :blink: 打了这么多的字....累死..


谢谢~
能再解释一下
比如
1 俺用Unreal的地图编辑器编了张地图,做了些角色,放到场景中,进入游戏,通过游戏即时渲染的画面截了图
2 俺用3d软件建模渲染

有没有可能,把游戏引擎做成一个快速渲染器呢?
毕竟1比2在渲染时间上的短得多

更扯一点的问题就是,
GPU都可以做CPGPU通用计算了
为啥那些3d软件以前没想过用GPU代替一部分cpu干的活呢?
“它渲染时所让cpu处理的的数据不是GPU能 所处理的” 这样的情况在当今显卡运算能力突飞猛进的时代依然存在么?
作者: hsy-x    时间: 2007-10-18 21:58
1.GPU都可以做CPGPU通用计算了
需要专门的编译器的啊...还有所处理的数据也是比较单一的...
2.nv不是出了GELATO了吗..它可以参加maya的硬件渲染
作者: 诸    时间: 2007-10-18 22:47
原帖由 hsy-x 于 2007-10-18 21:58 发表
1.GPU都可以做CPGPU通用计算了
需要专门的编译器的啊...还有所处理的数据也是比较单一的...
2.nv不是出了GELATO了吗..它可以参加maya的硬件渲染



谢谢解答~看来以后GPU在渲染中的作用会变大d~:)
作者: 瞎猫    时间: 2007-10-18 23:11
:shifty:
游戏里的模型可没3D软件的那么复杂啊,真的动用百万三角形级别的模型会把CPU压的喘不过气的。另外游戏里的光照效果,计算方式,很多跟现实是不一样的,简单来说就是“简单”了很多。

个人是这么理解的,拍砖不要拍太狠:sweatingbullets:
作者: ayanamei    时间: 2007-10-18 23:36
原帖由 于 2007-10-18 21:53 发表


谢谢~
能再解释一下
比如
1 俺用Unreal的地图编辑器编了张地图,做了些角色,放到场景中,进入游戏,通过游戏即时渲染的画面截了图
2 俺用3d软件建模渲染

有没有可能,把游戏引擎做成一个快速渲染器呢? ...

时实渲染 和 3D软件渲染方式是完全不同的
或许渲染比较简单的模型 可能看上去差距不大
但是时实渲染出 现在一般水平 广告公司室内效果图的图像 是根本做不到的
光栅化实时渲染更多的是考虑效率 在效率的基础上 使用求近 的方式来生成图像,但是和真实永远只是看上去 有点相似,而以

而软件渲染器 光从计算复杂度 处理精度来说 和我们现在看到的实时渲染完全不在一个层次,而且使用光线追踪/辐射度 来生成的光学影像 能做到以假乱真。能够做到多么真实取决于美工水平,而不是渲染技术本身
处理方式的不同 就决定了需要的计算量 和实际看到的结果的不同
GPGPU的方式 使用现在的GPU介入到这种渲染中 确实可以带来效率的提升 但是提升 也仅仅是说相对CPU渲染 速度的提高,和时实光栅化渲染表现出来的那种效率 是完全不同的概念
作者: back    时间: 2007-10-19 00:24
同样一个场景 3d软件是踏实本分的按照正规的计算路径一步步计算出来的  而游戏引擎通过dx和og的很多预制渲染规则可以使某些渲染效果走捷径 来得出一个大致相似的场景
例如计算1除3 3d软件走的是最原始的数学计算方法得出0.33333333……(无限) 而游戏引擎则利用预设规则和需要 直接得出近似的0.33这个结论 所以计算效率完全不同 并且结果其实是近似而已
只要满足游戏的需要 就不必太追求效果的真实
最明显的phk引起争议的 ati显卡阴影问题 其实就是游戏根据需要做了取舍 n卡和a卡的阴影效果按照正规的渲染路径来比较 肯定都是完全失真了 只是游戏时这种精度满足了 游戏效果的表达 就不必太追求过于真实的效果 不然 再好的配置 玩游戏都是幻灯片了
作者: ddcwlf    时间: 2007-10-19 13:13
呵呵,看了大家说了这么多,还有那么多"术语",还是没说出个所以然来

说得不一定对,因为我也是小白:funk: .

首先,CPU和GPU是不同的,----------这当然是废话.我们说的CPU可以说是通用处理器.通过编程,可以做很多事情(包括生成现在的显卡所能达到的特效画面).而GPU生来只是为了在显示器生成各种图形.主要是为了实时的三维图形生成而出现的.目的也是为了从CPU那里接过来一些繁重的图形生成计算任务,(最开始的显卡其实是2D的.后来有2D+3D的显卡(两块),后来才像现在这样,一块搞定2D和3D.)


这就造成了CPU什么都能做(就像你买来CPU不光为了游戏一样),但做得一般般.GPU只能处理图形,但由于"专业"也因为"专攻"所以处理得很快.

就像一家技术公司里的总监,他手下会的他一般也会(方便管理,统筹,安排),但做什么都不如他的手下做得快(在时间与质量的要求下,要他一个人搞定所有事也是不现实的).虽然他的手下只会做自己专业内的事.







然后,是3D软件和3D游戏生成图像的不同.

3D软件里的渲染可以用GPU完成,比如MAYA.但会受GPU支持的"特效"的限制,


GPU不支持的,如现在的3D软件里渲染时最常用的实时的间接/全局光照的计算,一个房间里的一个灯泡的,它的光线照射到地板上后会反射到房间的墙面上,射到墙面上的光线也会反射到地板上,期间的反射还不止一次.而墙角会比较暗,因为到达那里的光线少,(光线在行进过程中还会成平方反比衰减),最后的效果取决于你设定的精度,如光线/光子的数量,运算量很大.---------用现在的GPU是不行的(这一点我不确定,但确实没有见到有在游戏里实时计算间接/全局光照的,也许这个例子不太合适,但道理是这样).



但游戏里有时也有间接/全局光照的效果(如HL2第二章里的),又是怎么来的呢?其实是用CPU先渲染好,再做成贴图贴在对象上,这样就不用GPU计算间接/全局光照了,这就是所谓的烘培技术,所以,有些游戏看起来画面很美,但实际上是很简单的实现方式.--------其实这在3D软件里也可以这么干,但通常是用在3D动画上.



如果我们主要用GPU渲染,只怕我们要为了三天两头地达到一些效果而三天两头地换GPU了.

而用CPU,只要你觉得速度够你用,N年都可以不换.因为软件就可以搞定一切.
作者: 6119W    时间: 2007-10-19 16:39
偶也没看明白,召唤伟大的P神和版主给我们菜鸟扫盲
作者: potomac    时间: 2007-10-19 23:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: beer966    时间: 2007-10-19 23:31
原帖由 6119W 于 2007-10-19 16:39 发表
偶也没看明白,召唤伟大的P神和版主给我们菜鸟扫盲




楼主问的是软件问题..........你别扯上硬件P.........:p
作者: 6119W    时间: 2007-10-19 23:56
原帖由 beer966 于 2007-10-19 23:31 发表




楼主问的是软件问题..........你别扯上硬件P.........:p



意思是他们不懂软件还是不屑于理我们小白如此简单的问题? 软件也要通过硬件功能实现吧,该有相通的地方的。
作者: beer966    时间: 2007-10-20 00:13
原帖由 6119W 于 2007-10-19 23:56 发表



意思是他们不懂软件还是不屑于理我们小白如此简单的问题? 软件也要通过硬件功能实现吧,该有相通的地方的。



小白总比老白要有人缘些吧...........


嗯.........这种问题某人能回答楼主才怪........:shifty:
作者: beer966    时间: 2007-10-20 00:19
原帖由 6119W 于 2007-10-19 23:56 发表



意思是他们不懂软件还是不屑于理我们小白如此简单的问题? 软件也要通过硬件功能实现吧,该有相通的地方的。



不过你认识他是有好处的.........哪天你的7900或1950玩WOW突然被卡了几下........


某人会鄙视了几分钟.........然后掏块8800GT说:你傻了吧???那种过时的烂卡也能玩山口山???换8800GT320M还差不多.........:shifty:
作者: 5900    时间: 2007-10-20 02:18
游戏里的j结果比如一些光影的效果是预先设置好的,而3DMAX里就算你一切设置好了但需要CPU去从头计算出结果,对人的一般性思维而言,3DMAX里设置好一切不也是有结果了吗?不是的,CPU不会这样想,他会一点一点的干活,去计算出这个过程。而游戏支持显卡,有他们自己的程序,再深奥的我也不懂了。




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4