Difference between revisions of "Oblivion Shader Editor"
imported>Raziel23x (Added a Tutorial section and formatted the Misc tool Section to better orgainze it.) |
imported>Saebel |
||
(18 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{Unfinished | {{Unfinished}} | ||
== Oblivion Shader Editor == | == Oblivion Shader Editor == | ||
By Timeslip | By [[User:Timeslip|Timeslip]] | ||
=== Description === | === Description === | ||
This ( | This (sdp) is used to edit and compile the shader packages found in the shader folder inside the data folder in your TESIV: Oblivion. | ||
=== Download === | === Download === | ||
[timeslip.users.sourceforge.net/, Timeslip's utilities] | |||
[ | |||
Warning! This utility might damage your shaders! | |||
Details: Oblivion shaders always contain CTAB (Constant TABles) which are used by the engine. If you disassemble and re-assemble the shader's code then resulting shader differs from the original. As a result some variables might be unbound resulting in ex. missing water animation or other similar problems. | |||
== Misc Shader Tools == | == Misc Shader Tools == | ||
Line 27: | Line 27: | ||
=== | === NVIDIA === | ||
[http://developer.nvidia.com/page/tools.html | [http://developer.nvidia.com/page/tools.html NVIDIA 3D Tools] - Home of NVIDIA's vast archive of game development tools. | ||
[http://developer.nvidia.com/object/fx_composer_home.html | [http://developer.nvidia.com/object/fx_composer_home.html NVIDIA FX Composer] - Shader development IDE for the HLSL, with preview and lots of useful tools. | ||
[http://developer.nvidia.com/object/sdk_home.html NVIDIA SDK] - Huge collection of examples, also shaders. | |||
=== ATI === | === ATI === | ||
Line 40: | Line 39: | ||
[http://www.ati.com/developer/rendermonkey/index.html Ati's RenderMonkey] - Ati's version of a shader development IDE. | [http://www.ati.com/developer/rendermonkey/index.html Ati's RenderMonkey] - Ati's version of a shader development IDE. | ||
== Tutorials == | |||
[http://www.coniserver.net/wiki/index.php/Simple_HLSL_Shader_Tutorial Simple HLSL Shader Tutorial] Gamestudio Wiki! | |||
[http://www.dragonforgetechnology.com/Projects/Articles/ShaderArticle.html HLSL Shader Tutorial] By Donald Beals | |||
[http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c_Dec_2005/HLSL_Shaders.asp HLSL Shaders] Microsoft | |||
[http://msdn2.microsoft.com/en-gb/library/bb219841.aspx Pixel Shaders] MSDN | |||
[http://mgeshaderlibrary.wikispaces.com/Tutorials MSL Tutorials] MGE Shader Library | |||
== Examples == | |||
=== Night-Eye === | |||
Editing the Night-Eye Shader | |||
==== Original Shader ==== | |||
ps_1_3 | |||
def c0, 1, 0, 0, -1 | |||
def c2, 1, 1, 1, 0.5 | |||
def c3, 0.209999993, 0.5, 0.779999971, 0 | |||
def c4, 0, 0, 0, 1 | |||
tex t0 | |||
dp3 r1, c0, c1 | |||
add t0.w, c0.w, r1.w | |||
mul t0.w, t0.w, t0.w | |||
+ dp3 r1.xyz, c2, t0 | |||
mad r0.w, -t0.w, c2.w, c2.w | |||
cnd t0.w, r0.w, c3.w, c4.w | |||
+ mul r1.xyz, r1, c3 | |||
lrp r0.xyz, t0.w, r1, t0 | |||
+ mov r0.w, c4.w | |||
// approximately 7 instruction slots used (1 texture, 6 arithmetic) | |||
==== Very Bright ==== | |||
ps_1_3 | |||
tex t0 | |||
mov_x2_sat r0, t0 | |||
// approximately 2 instruction slots used (1 texture, 1 arithmetic) | |||
==== Super Bright Shader ==== | |||
ps_1_3 | |||
tex t0 | |||
mov_x4_sat r0, t0 | |||
// approximately 2 instruction slots used (1 texture, 1 arithmetic) | |||
==== Desaturated ==== | |||
ps_1_3 | |||
def c0, 0.300000012, 0.589999974, 0.109999999, 1 | |||
tex t0 | |||
mov_x2_sat r1, t0 | |||
dp3_x2_sat r0, t0, c0 | |||
lrp r0.xyz, r0, r1, r0 | |||
+ mov r0.w, c0 | |||
// approximately 4 instruction slots used (1 texture, 3 arithmetic) | |||
== | == Other == | ||
[http://www. | [http://www.charlesriver.com/resrcs/chapters/1584503491_1stChap.pdf Shader Compile Tutorial] - Nice doc on how to set up Visual C++ to compile *.fx files. | ||
[[Category:Tools]][[Category:Tools: Misc]] | [[Category:Tools]][[Category:Tools: Misc]] |
Latest revision as of 07:50, 28 February 2012
This article has been marked by editors or authors as incomplete. Please see the Talk page for details. Discussion and collaboration can improve an article and lead to a better Wiki.
Oblivion Shader Editor[edit | edit source]
By Timeslip
Description[edit | edit source]
This (sdp) is used to edit and compile the shader packages found in the shader folder inside the data folder in your TESIV: Oblivion.
Download[edit | edit source]
[timeslip.users.sourceforge.net/, Timeslip's utilities]
Warning! This utility might damage your shaders! Details: Oblivion shaders always contain CTAB (Constant TABles) which are used by the engine. If you disassemble and re-assemble the shader's code then resulting shader differs from the original. As a result some variables might be unbound resulting in ex. missing water animation or other similar problems.
Misc Shader Tools[edit | edit source]
Microsoft[edit | edit source]
Microsoft Game-writing tutorial - The german version is much better, with video tutorials and lots of shader coverage and a real worthy introduction to Agile development (De).
XNA - Microsoft's free and fully featured game development system, should be able to develop shaders.
DirectX SDK - Contains the DirectX Shader Compiler that creates the needed binary vso/pso files from HLSL or Assembler files.
Visual C++ Express Edition - The must-have IDE for free Windows programming.
NVIDIA[edit | edit source]
NVIDIA 3D Tools - Home of NVIDIA's vast archive of game development tools.
NVIDIA FX Composer - Shader development IDE for the HLSL, with preview and lots of useful tools.
NVIDIA SDK - Huge collection of examples, also shaders.
ATI[edit | edit source]
Ati's RenderMonkey - Ati's version of a shader development IDE.
Tutorials[edit | edit source]
Simple HLSL Shader Tutorial Gamestudio Wiki!
HLSL Shader Tutorial By Donald Beals
HLSL Shaders Microsoft
Pixel Shaders MSDN
MSL Tutorials MGE Shader Library
Examples[edit | edit source]
Night-Eye[edit | edit source]
Editing the Night-Eye Shader
Original Shader[edit | edit source]
ps_1_3 def c0, 1, 0, 0, -1 def c2, 1, 1, 1, 0.5 def c3, 0.209999993, 0.5, 0.779999971, 0 def c4, 0, 0, 0, 1 tex t0 dp3 r1, c0, c1 add t0.w, c0.w, r1.w mul t0.w, t0.w, t0.w + dp3 r1.xyz, c2, t0 mad r0.w, -t0.w, c2.w, c2.w cnd t0.w, r0.w, c3.w, c4.w + mul r1.xyz, r1, c3 lrp r0.xyz, t0.w, r1, t0 + mov r0.w, c4.w
// approximately 7 instruction slots used (1 texture, 6 arithmetic)
Very Bright[edit | edit source]
ps_1_3 tex t0 mov_x2_sat r0, t0 // approximately 2 instruction slots used (1 texture, 1 arithmetic)
Super Bright Shader[edit | edit source]
ps_1_3 tex t0 mov_x4_sat r0, t0 // approximately 2 instruction slots used (1 texture, 1 arithmetic)
Desaturated[edit | edit source]
ps_1_3 def c0, 0.300000012, 0.589999974, 0.109999999, 1 tex t0 mov_x2_sat r1, t0 dp3_x2_sat r0, t0, c0 lrp r0.xyz, r0, r1, r0 + mov r0.w, c0 // approximately 4 instruction slots used (1 texture, 3 arithmetic)
Other[edit | edit source]
Shader Compile Tutorial - Nice doc on how to set up Visual C++ to compile *.fx files.