Difference between revisions of "Oblivion Shader Editor"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>DragoonWraith
(if it's unfinished, the update tag is unnecessary, unless what's already there is out of date already?)
imported>Saebel
 
(6 intermediate revisions by 4 users not shown)
Line 8: Line 8:


=== Download ===
=== Download ===
[http://timeslip.chorrol.com/current/ShaderEdit.7z Oblivion Shader Editor] Version 0.3
[timeslip.users.sourceforge.net/, Timeslip's utilities]


[http://timeslip.chorrol.com/current/ShaderEditSource.7z Source Code] Version 0.3
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 26: Line 27:




=== Nvidia ===
=== NVIDIA ===


[http://developer.nvidia.com/page/tools.html NVidia 3D Tools] - Home of NVidia' vast archive of game development tools.
[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 NVidia FX Composer] - Shader development IDE for the HLSL, with preview and lots of useful tools.
[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.


[http://developer.nvidia.com/object/sdk_home.html NVIDIA SDK] - Huge collection of examples, also shaders.


=== ATI ===
=== ATI ===
Line 48: Line 48:


[http://msdn2.microsoft.com/en-gb/library/bb219841.aspx Pixel Shaders] MSDN
[http://msdn2.microsoft.com/en-gb/library/bb219841.aspx Pixel Shaders] MSDN
[http://mgeshaderlibrary.wikispaces.com/Tutorials MSL Tutorials] MGE Shader Library


== Examples ==
== Examples ==

Latest revision as of 07:50, 28 February 2012


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.