作者teexit (獃獃)
看板GameDesign
标题Re: [请益] 关於显卡&API的一堆问题
时间Sun Jan 11 20:58:04 2015
※ 引述《lovesnake (LoyalDog)》之铭言:
: 1. 为什麽DX还活着?
: 现今无论Web、Mobile、Linux、Mac OSX,都采用OpenGL作为其Graphics API,
: 为什麽DX还能顽抗至今呢? 纯粹是因为Windows不想放弃他吗?
看到这个问题我不经想问.....
版主有研究一下历史吗orz
为什麽大家会用OPGL或是ES,是因为他跨平台支援度高
早期OPENGL,MS也是有共同参与制定的,是到後面才离开并推出DX
(详细历史WIKI应该有)
而OPENGL和ES因为是由很多组织一起参与的,都需要大家共同达成共识後
才会有新的规格公开(不确定是不是这样)
而DX很自由,他们想怎样就怎样,所以不知道楼主有没有发现
甚麽Geometry shader那些,都是DX先出,然後过一阵子OPENGL才有
: 2. 是API迁就显卡还是显卡迁就API?
: API是在设计的时候,考虑现今的显卡架构去设计。
: 还是显卡在设计的时候,考虑现有的API在做设计呢?
这点我不清楚,不过DX SPEC出了通常会通知NV或是ATI,让厂商可以配合
不过这当中的关系不清楚
: 3. Geometry V.S. Tessellation
: Geometry Shader 是只管一个Primitive ,Tessellation有考虑邻居。
: 这样的理解对吗?
: 4. NVidia & ATI 哪个对OpenGL的Support较好?
: 谢谢~
後面两题我很久没用了,所以不清楚
不过我的印象就是ATI驱动,只能笑笑了...
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.110.142.117
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1420981087.A.E52.html
1F:推 cowbaying: opengl之所以这麽泛用 就是在於它够简单 01/11 23:19
2F:→ cowbaying: 所以硬体需求可高可低 不完全是因为跨平台 01/11 23:20
3F:→ cowbaying: 跨平台只是因为其核心只专於输出画面 所以好跨而已 01/11 23:20
4F:→ cowbaying: opengl要做到像DX那种输出我认为是没问题的 问题在於 01/11 23:21
5F:推 cowbaying: 厂商愿意花多少时间开发 01/11 23:21
6F:→ cowbaying: 忘了提DirectX 01/11 23:32
7F:推 cowbaying: 他把全部的多媒体功能全包了 非常方便的东西... 01/11 23:33
8F:→ cowbaying: 你看後期还有XNA 虽然发展不如预期就是了 01/11 23:34
9F:→ cowbaying: 而且DirectX摆明就是要用来开发多媒体娱乐的 01/11 23:38
10F:推 cowbaying: 以游戏的发展史来说 DX是不可能被逼退的 01/11 23:39
11F:→ cowbaying: 3A级的游戏还是得靠DX 01/11 23:41
12F:→ cowbaying: 最後就是console game了 PS4用的也是DirectX 01/11 23:59
13F:→ cowbaying: XBOX更不用说 所以DX未来铁定还是游戏界的主流 01/12 00:00
14F:→ cowbaying: 微软靠着把WINDOWS跟DX做好就可以稳固其地位了 01/12 00:00
15F:推 cjcat2266: PS4不是用DX啊...用的是Sony自家的GNM 01/12 08:06
16F:推 lovesnake: 我对功能面没有任何的意见跟评论...我想讨论的是 01/12 10:44
17F:→ lovesnake: 使用的广泛度阿Orz... 01/12 10:44
18F:→ cowbaying: 抱歉没仔细查证 PS4是OPENGL BASED API 01/12 12:58
19F:推 cowbaying: 广泛度绝对是OPENGL 01/12 12:59
20F:→ a27417332: OpenGL Based也是错的,那是他自己架上去的抽象层吧 01/12 17:58
21F:→ teexit: 目前只有Xbox 系列是dx其他都是gl based,不过gl很多概念 01/12 21:44
22F:→ teexit: 都dx的。 01/12 21:44
23F:推 cjcat2266: 看来原po是要讨论广泛度,不是功能根源 01/13 01:26
24F:→ teexit: To cowbaying gl...其实很难用,太多介面可以做到同件事 01/13 22:00
25F:→ teexit: 效能差的介面,并且简化api到只有一种(起码3.0是这样) 01/13 22:03
26F:→ cowbaying: 功能单纯到难用吗? XD 01/14 08:37
27F:推 littleshan: GL有一堆global state,然後API就是拿这些state当参数 01/14 12:30
28F:→ littleshan: 比如说修改某个texture,要先用bind修改global tex 01/14 12:33
29F:→ littleshan: 然後再呼叫修改texture的API,几乎所有操作都要先bind 01/14 12:34
30F:→ littleshan: 我可以理解GL刚出来的年代根本没有什麽multi-texture 01/14 12:34
31F:→ littleshan: 不过每次用global传API参数都觉得自己像智障一样 01/14 12:35