Khiêu chuyển đáo nội dung

Cao cấp trứ sắc khí ngữ ngôn

Duy cơ bách khoa, tự do đích bách khoa toàn thư
( trọng định hướng tựHLSL)

Cao cấp trứ sắc khí ngữ ngôn( tứcHLSL,Súc tả tựHigh Level Shader Language[1]HoặcHigh-Level Shading Language[2]), thị doVi nhuyễnỦng hữu cập khai phát đích nhất chủngTrứ sắc khí ngữ ngôn,Tối sơ đích khai phát thị vi liễu phụ trợ Direct3D 9 đích trứ sắc khí hối biên ngữ ngôn, hậu thành vi Direct3D 10 dĩ laiThống nhất trứ sắc khí mô hình(Anh ngữ:Unified Shader Model)Sở tất tu đích ngữ ngôn.

HLSL chỉ năng cung vi nhuyễn đíchDirect3DDĩ cậpXNASử dụng. HLSL thịGLSLĐích tiên bối, bất năng dữOpenGLTiêu chuẩn kiêm dung. Tha cânNvidiaĐíchCgPhi thường tương tự, thị nhân vi lưỡng cá khai phát giả tằng kinh khẩn mật hợp tác.[3]

HLSL đích chủ yếu tác dụng vi tương nhất ta phục tạp đíchĐồ tượng xử lý,Khoái tốc nhi hựu hữu hiệu suất địa tạiHiển kỳ tạpThượng hoàn thành, dữ tổ hợp thức hoặc đê giai Shader Language tương bỉ, năng hàng đê tại biên tả phục tạp đặc thù hiệu quả thời sở phát sinh biên trình thác ngộ đích cơ hội.

Shader model bỉ giác

[Biên tập]

Pixel shader bỉ giác

[Biên tập]
Pixel shader bản bổn 1.0 to 1.3[4] 1.4[4] 2.0[4][5] 2.0a[4][5] 2.0b[4][5] 3.0[4][6] 4.0[7] 4.1[8] 5.0[9]
Dependent texture limit 4 6 8 Unlimited 8 Unlimited Unlimited Unlimited Unlimited
Texture instruction limit 4 6*2 32 Unlimited Unlimited Unlimited Unlimited Unlimited Unlimited
Position register No No No No No Yes Yes Yes Yes
Instruction slots 8+4 8+4 32 + 64 512 512 ≥ 512 ≥ 65536 ≥ 65536 ≥ 65536
Executed instructions 8+4 6*2+8*2 32 + 64 512 512 65536 Unlimited Unlimited Unlimited
Texture indirections 4 4 4 Unlimited 4 Unlimited Unlimited Unlimited Unlimited
Interpolated registers 2 + 8 2 + 8 2 + 8 2 + 8 2 + 8 10 32 32 32
Instruction predication No No No Yes No Yes No No No
Index input registers No No No No No Yes Yes Yes Yes
Temp registers 2 6 12 to 32 22 32 32 4096 4096 4096
Constant registers 8 8 32 32 32 224 16x4096 16x4096 16x4096
Arbitraryswizzling No No No Yes No Yes Yes Yes Yes
Gradient instructions No No No Yes No Yes Yes Yes Yes
Loop count register No No No No No Yes Yes Yes Yes
Face register (2-sided lighting) No No No No No Yes Yes Yes Yes
Dynamic flow control No No No No No 24 Yes Yes Yes
Bitwise Operators No No No No No No Yes Yes Yes
Native Integers No No No No No No Yes Yes Yes
  • PS 2.0= DirectX 9.0 originalShader Model 2specification.
  • PS 2.0a= NVIDIAGeForce FX-optimized model.
  • PS 2.0b= ATIRadeon X700, X800, X850shader model, DirectX 9.0b.
  • PS 3.0=Shader Model 3.0.
  • PS 4.0=Shader Model 4.0.
  • PS 4.1=Shader Model 4.1.
  • PS 5.0=Shader Model 5.0.

"32 + 64" forExecuted Instructionsmeans "32 texture instructions and 64 arithmetic instructions."


Vertex shader bỉ giác

[Biên tập]
Vertex shader bản bổn VS 1.1[10] VS 2.0[5][10] VS 2.0a[5][10] VS 3.0[6][10] VS 4.0[7] VS 4.1[11] VS 5.0[9]
# of instruction slots 128 256 256 ≥ 512 4096 4096 4096
Max # of instructions executed Unknown 65536 65536 65536 65536 65536 65536
Instruction predication No No Yes Yes Yes Yes Yes
Temp registers 12 12 13 32 4096 4096 4096
# constant registers ≥ 96 ≥ 256 ≥ 256 ≥ 256 16x4096 16x4096 16x4096
Static flow control ??? Yes Yes Yes Yes Yes Yes
Dynamic flow control No No Yes Yes Yes Yes Yes
Dynamic flow control depth No No 24 24 Yes Yes Yes
Vertex texture fetch No No No Yes Yes Yes Yes
# of texture samplers N/A N/A N/A 4 128 128 128
Geometry instancingsupport No No No Yes Yes Yes Yes
Bitwise operators No No No No Yes Yes Yes
Native integers No No No No Yes Yes Yes
  • VS 2.0= DirectX 9.0 originalShader Model 2specification.
  • VS 2.0a= NVIDIAGeForce FX-optimized model.
  • VS 3.0=Shader Model 3.0.
    • Note that ATI X1000 series cards (e.g. X1900) does not support Vertex Texture Fetch, hence it does not fully comply with the VS 3.0 model. Instead, they offer a feature called "Render to Vertex Buffer (R2VB)" that provides functionality that is a superset of Vertex Texture Fetch.[12]
  • VS 4.0=Shader Model 4.0.
  • VS 4.1=Shader Model 4.1.
  • VS 5.0=Shader Model 5.0.

Phạm lệ

[Biên tập]
Hôi giai thiếp đồ dụng
  • Hôi giai trị = 0.3 x hồng + 0.59 x lục + 0.11 x lam
sampler2DTexture0;

float4ps_main(float2texCoord:TEXCOORD0):COLOR
{
float4_inColor=tex2D(Texture0,texCoord);
floatgray=0.3*_inColor.x+0.59*_inColor.y+0.11*_inColor.z;
float4_outColor=float4(gray,gray,gray,1.0);

return_outColor;
}

Chú thích

[Biên tập]
  1. ^Writing HLSL Shaders in Direct3D 9 (Windows).msdn.microsoft.com.[2018-06-25].( nguyên thủy nội dungTồn đươngVu 2018-06-25 ).
  2. ^HLSL.MSDN.Microsoft.[5 January2015].( nguyên thủy nội dungTồn đươngVu 2018-06-25 ).
  3. ^Fusion Industries:: Cg and HLSL FAQ::.24 August 2012. (Nguyên thủy nội dungTồn đương vu 24 August 2012 ).
  4. ^4.04.14.24.34.44.5Pixel Shader Differences.msdn.microsoft.com. 2011-02-08[2014-08-28].( nguyên thủy nội dungTồn đươngVu 2013-03-16 ).
  5. ^5.05.15.25.35.4Peeper, Craig.Microsoft DirectX High Level Shader Language (HLSL)(PPT).microsoft.com: 5–8, 24–25. 2004-03-15.[Vĩnh cửu thất hiệu liên kết]
  6. ^6.06.1Shader Model 3.0, Ashu Rege, NVIDIA Developer Technology Group, 2004.
  7. ^7.07.1The Direct3D 10 System, David Blythe, Microsoft Corporation, 2006.
  8. ^Tồn đương phó bổn.[2014-08-28].( nguyên thủy nội dungTồn đươngVu 2015-12-01 ).
  9. ^9.09.1Tồn đương phó bổn.[2014-08-28].( nguyên thủy nội dungTồn đươngVu 2013-09-09 ).
  10. ^10.010.110.210.3Vertex Shader Differences.msdn.microsoft.com. 2011-02-08[2014-08-28].( nguyên thủy nội dungTồn đươngVu 2013-03-14 ).
  11. ^Tồn đương phó bổn.[2014-08-28].( nguyên thủy nội dungTồn đươngVu 2014-05-16 ).
  12. ^Radeon X1000 series lacks vertex texture fetch[1](Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán)

Ngoại bộ liên kết

[Biên tập]