February 24, 2011

Updated lcShaders to gp4vp / gp4fp

lcUberShader, lcSkinShader
version 2.7 – Download Page

I have updated my lcUberShader and lcSkinShader to run on the gp4vp and gp4fp profiles instead of vp40 and fp40 as this removes some restrictions on the number of temporary registers available and allows for more complicated, math intensive shaders.  The lcUberShader suffers only a minor performance penalty but the lcSkinShader seems to run at 1/2 to 1/4 the speed compared to the old profile.  I’ll have to investigate the issue but I’m not focused on speed with these shaders.

On the plus side they both now have 3 directional lights and 3 point lights and I’ll expand the features in the near future to include baked shadow map functionality for the point lights as well.

I’ve only done preliminary testing so let me know if you run into issues.

7 comments:

  1. Hey

    Thanks for this. Can you tell me what has been changed? I've adopted the shader to Softimage, changed the interface a bit, and implemented a specular in diffuse alpha feature also. If you could point me the changes it'd help a lot :)

    Thanks!

    ReplyDelete
  2. i changed all the profiles to gp4fp/gp4vp and this required a minor change to get it to compile - for some reason the max() function was extra picky
    insead of doing this:
    max(0,foo)
    do this:
    max(0.f,foo)

    I consolidated the 2 separate rim light functions into one, I may have tweaked the lighting loop for changes due to the point lights, and I changed the vertex shader to output world space position so i could calculate the point light direction vectors in the pixel shader instead of the vertex shader (because i had run out of variable tex coord inputs). There may be other minor changes, i cannot remember off the top of my head.

    ReplyDelete
  3. Thanks, do you mind if I sahre it with the Softimage community? I made several changes that applies to Softimage, but otherwise left it intact

    ReplyDelete
  4. Share and share alike, thats the whole idea.

    ReplyDelete
  5. Thanks Leo, your efforts greatly appreciated!

    ReplyDelete
  6. I tried using this and it's turning completely black. Is it my shader, or perhaps something noob I did? I tried with version 2.3 and seems to work fine.

    ReplyDelete
  7. @Anonymous - Its probably a graphics card issue, you can access versions previous to 2.7 by editing the download link by hand.

    ReplyDelete