Oblivion Shader Editor


Oblivion Shader EditorEdit

By Timeslip

DescriptionEdit

This (sdp) is used to edit and compile the shader packages found in the shader folder inside the data folder in your TESIV: Oblivion.

DownloadEdit

[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 ToolsEdit

MicrosoftEdit

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.


NVIDIAEdit

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.

ATIEdit

Ati's RenderMonkey - Ati's version of a shader development IDE.

TutorialsEdit

Simple HLSL Shader Tutorial Gamestudio Wiki!

HLSL Shader Tutorial By Donald Beals

HLSL Shaders Microsoft

Pixel Shaders MSDN

MSL Tutorials MGE Shader Library

ExamplesEdit

Night-EyeEdit

Editing the Night-Eye Shader

Original ShaderEdit

	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 BrightEdit

 ps_1_3
	tex t0
	mov_x2_sat r0, t0

// approximately 2 instruction slots used (1 texture, 1 arithmetic)

Super Bright ShaderEdit

	ps_1_3
	tex t0
	mov_x4_sat r0, t0

// approximately 2 instruction slots used (1 texture, 1 arithmetic)

DesaturatedEdit

   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)

OtherEdit

Shader Compile Tutorial - Nice doc on how to set up Visual C++ to compile *.fx files.