Talk:High-Level Shader Language: Difference between revisions

Content deleted Content added
RileyBot (talk | contribs)
Line 6:
== No Shader Model 5.0 info ==
 
SM 5.0 (DX 11) has been along quite a bit of time, and still no info about it...not even a comment about it in this Talk page (besides mine, of course). {{<small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:87.221.60.52|87.221.60.52]] ([[User talk:87.221.60.52|talk]] • [[Special:Contributions/87.221.60.52|contribs]]) 05:32, 26 January 2011 (UTC)}}</span></small><!-- Template:Unsigned -->
 
== This article is fairly lacking ==
Line 12:
HLSL was designed to be similar to the Renderman shading language, and it more useful to compare it against that. There are many differnces neccecitated by hardware architecture. However, many of the language features and intrinics are exactly the same as Renderman. In addition, the language has 2 distinct differnces from C. The first is that it is natively a vector and math language, thus all types are vectored. The 2nd difference is that there is no persistent state. That is, an HLSL program can't access any memory in read/write fasion, it may read from one peice of memory (e.g. textures), and write to another (e.g.) the backbuffer), and one shader cannot pass any information to another instance of a shader (unless it is further down the graphics pipeline.) [[User:Dankbaker|Dankbaker]] 15:45, 20 September 2007 (UTC)
 
[http://msdn2.microsoft.com/en-us/library/bb509626(en-us,VS.85).aspx Shader Models vs Shader Profiles] {{<small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:88.218.166.45 |88.218.166.45 ]] ([[User talk:88.218.166.45 |talk]] • [[Special:Contributions/88.218.166.45 |contribs]]) 20:47, 19 April 2008 (UTC)}}</span></small><!-- Template:Unsigned -->
 
== Shader Model 4.0 info? ==
 
Could some info on Shader Model 4 be added, please? {{<small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:Navstar|Navstar]] ([[User talk:Navstar|talk]] • [[Special:Contributions/Navstar|contribs]]) 23:59, 25 April 2006 (UTC)}}</span></small><!-- Template:Unsigned -->
 
:I found some here: http://www.atomicmpc.com.au/forums.asp?s=2&c=7&t=10239&p=0. Interestingly, this info is not in Microsoft's own DirectX SDK help files - annoying. {{<small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:Erich666|Erich666]] ([[User talk:Erich666|talk]] • [[Special:Contributions/Erich666|contribs]]) 21:38, 14 June 2007 (UTC)}}</span></small><!-- Template:Unsigned -->
 
::There is a fair amount of material in the SDK concerning shader model 4.0. The main language feature differences are templated texture types, input and output signatures (to prevent runtime linkage), bitwise operators, native integer support (prevous versions were emmulated), and switch statements. There are few more minor features, such as the presence of attributes as in C#, but unlike C# attributes can be specified before any statement and are ignored if unrecoginized. They can be used to specifiy. Additionally, the precision required is near IEEE, with NANs and INFS and the like. There are a few differences, I can't remember them all, but the precision isn't quite as high. 1 bit ULP instead of a half bit that IEEE requires. [[User:Dankbaker|Dankbaker]] 15:45, 20 September 2007 (UTC)
Line 29:
 
== >= 256 ==
at some places there is a specification of ">= 256" which makes no sense to me. it should be "<=256". maybe it would be even better to be able to express the same without <>= just by using max (or min?) in the specs? {{<small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:85.178.238.194|85.178.238.194]] ([[User talk:85.178.238.194|talk]] • [[Special:Contributions/85.178.238.194|contribs]]) 14:56, 22 May 2007 (UTC)}}</span></small><!-- Template:Unsigned -->
 
:Actually, ≥ 256 is correct. This shows up here http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/graphics/reference/Shaders/VertexShader3_0/Registers/Registers.asp in a footnote, "256 is the minimum c# register count required by vs_2_x. The MaxVertexShaderConst cap contains the actual c# register count supported by the device"
:It also shows up here: ftp://download.nvidia.com/developer/presentations/2004/GPU_Jackpot/Shader_Model_3.pdf {{<small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:Erich666|Erich666]] ([[User talk:Erich666|talk]] • [[Special:Contributions/Erich666|contribs]]) 21:41, 14 June 2007 (UTC)}}</span></small><!-- Template:Unsigned -->
 
== Unfamiliar terms ==
Line 42:
== vandalism/typos? 13, 513 ==
 
In PS 2.0b the instruction slots are listed as 513, and in VS 2.0a temp registers are listed at 13, are these typos or vandalism? {{<small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:164.106.249.254|164.106.249.254]] ([[User talk:164.106.249.254|talk]] • [[Special:Contributions/164.106.249.254|contribs]]) 16:00, 26 August 2010 (UTC)}}</span></small><!-- Template:Unsigned -->
 
:Oddly, 13 seems to be correct as per [[Hlsl#cite_note-SM2-2|Microsoft DirectX High Level Shader Language (HLSL) presentation]], 512 was probably a typo and is now corrected. [[User:Fredbc|Fredbc]] ([[User talk:Fredbc|talk]]) 10:45, 15 August 2011 (UTC)