游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4512|回复: 6

用HLSL和不用有什么区别

[复制链接]

7

主题

11

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2008-10-13 11:09:00 | 显示全部楼层 |阅读模式
用HLSL和不用有什么区别

4

主题

69

帖子

205

积分

中级会员

Rank: 3Rank: 3

积分
205
发表于 2008-10-13 13:14:00 | 显示全部楼层

Re:用HLSL和不用有什么区别

转SDK文档
HLSL
HLSL is the High Level Shading Language for DirectX. Using HLSL, you can create C like programmable shaders for the Direct3D pipeline.

HLSL was created starting with DirectX 8 to set up the programmable 3D pipeline. In DirectX 8, the pipeline was programmed with a combination of assembly instructions, HLSL instructions and fixed-function statements. With the introduction of the Direct3D 10 API, the pipeline is now virtually 100% programmable using only HLSL; in fact, assembly is no longer used to generate shader code with Direct3D 10.

搞清楚什么是HLSL就好办了,简单来说就是用HLSL能有更高的自由度,即不像固定管线那样只能通过设置各种渲染状态来达到一些显示效果(这些效果有限且固定),使用HLSL可就看人的能力了。

(我是不会用HLSL的

54

主题

2916

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2008-10-13 17:38:00 | 显示全部楼层

Re:用HLSL和不用有什么区别

HLSL使用方便功能强大自由度高,缺点硬件兼容要求高可移植性貌似也不太好。

将来开发Direct3D10是肯定要用的了。

顺便借地问一下,如何用固定管线实现黑白化渲染,曾有人推荐说用D3DRS_COLORWRITEENABLE但用出来的效果不对。要是用HLSL的PixelShade这问题就很好解决,但用固定管线实现貌似很伤脑筋。

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2008-10-14 15:11:00 | 显示全部楼层

Re:用HLSL和不用有什么区别

不用hlsl最多就是2000年的画面水平,用了就可以回归到2008年了,哈哈

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2008-10-14 15:40:00 | 显示全部楼层

Re:用HLSL和不用有什么区别

固定管线转灰度确实比较麻烦,以前我??牍??3DTOP_DOTPRODUCT3来做颜色向量内积,但fp会自动把设置的值减去0.5,内积完再还原回去,搞的整个颜色面目全非,除了这个好像没其他功能可以支持跨通道的颜色数据访问吧

22

主题

309

帖子

353

积分

中级会员

Rank: 3Rank: 3

积分
353
QQ
发表于 2008-10-14 22:39:00 | 显示全部楼层

Re:用HLSL和不用有什么区别

固定管线转灰?
这玩意儿行不?
pd3dDevice->SetRenderState( D3DRS_TEXTUREFACTOR, 0x00505050 );

10

主题

53

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2008-10-15 10:32:00 | 显示全部楼层

Re:用HLSL和不用有什么区别

如果用可编程管线,假如我一帧要渲染三张图片,其中一张要用正常显示,一张要灰度显示,一张要高亮显示,要怎么才能在HLSL根据需要使用相应的效果呢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-21 03:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表