I'm currently developing a planet scale surface LOD system. I'm thinking about implementing geomorphing with the vertex shader, inspired by ShaderX² / http://www.gamedev.net/columns/hardcore ... efault.asp.
Allthough I'm not that willing to to it with ASM I'm not quite sure if this technique is useable with Irrlicht right out of the box. I must admit that I'm still a novice regarding shader programming and apart from some basic OpenGL programming I've only used Irrlicht for my 3D programming needs so far. So this is something like the excuse, if this stuff has already been answered, if so, please give me a pointer.
Back to the discussed geomorphing:
Here the vertex declaration (DX term?) is used to pass customized vertex data to the shader, meaning e.g.
Code: Select all
...
; Vertex components (as specified in the vertex DECLARATION)
;
; v0 = (posX, posZ, texX, texY)
; v1 = (posY, yMoveSelf, 0.0, 1.0)
... other following
I'm currently searching for the place within Irrlicht's sources (DX9 part) where the addressed vertex declaration is set up, in order to modify this part of Irrlicht or use what is already there.
Currently I'm thinking that I will be able to get geomorphing working with just a second vertex position, which I could e.g. code into the vertex color.
Thanks in advance!
edit: Please don't get the last paragraph wrong: If this would be sufficient, I could just enter something like "float4 col : COLOR0" as function parameter, but I still want to know this connection between Irrlicht's data and shader vertex data.