Download

Mesh Rendering with a custom set of shaders

Hi there,

I am looking for some tips on how I would go about rendering a mesh that has the following rendering process:

  • Dummy vertex shader (Does nothing)
  • Hull and Domain shaders - Generates a series of isolines from a buffer provided by me
  • Geometry shader - Takes the isolines and generates geometry
  • Pixel Shader - renders the geometry.

So essentially I dont provide a vertex buffer or index buffer or an input layout, all vertex data is generated on the GPU based on some data I provide. This seems to go against the Vertex Factory approach (Which expects FVertexFactoryInput to have some data - Unless i can set that to blank), also DrawMesh does not allow me to specify zero primitives (I only need to set the number of vertices).

Is it possible to render the mesh without using a Vertex Factory, but defining the shaders I require, while still remaining with the Deferred rendering pipeline? For now I am not too worried about being able to apply a Material to this mesh, in the end I will only need a base colour. I will provide the normals and such.

If it can be avoided I don’t want to have to modify the BasePass shaders or the MaterialTemplate shaders. As the plan is to distribute this as a plugin eventually, I want to keep my modifications of other shaders to a minimum.

Will this actually be possible from a plugin? Or should I just modify the engine to do this.

Please ask any questions, as Im not sure if I have explained well enough what I am trying to achieve.

I have managed to solve this by not using a vertex factory and setting the shaders and such myself.