Oblivion Shader Editor

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search


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.