We started from a DX9 app, that loaded the skull model, and the effects to implement were:

[WATCH VIDEO]
Screenshot from the marble effect. 2 textures are applied, one for the background marble, and one for the shining spot, that moves with the viewer.
Basic Techniques
- Implementation of Diffuse Lighting
- Blending of multiple point lights
- Vertex position Manipulation
Advanced Techniques
- Implement two specular lights, one fixed and one controlled by the mouse.
- Apply a marble effect texture to the skull.
- Implement a two tone paint effect.
- Implement a glowing halo effect.
- cubic environment mapping.
- optimisation of the program as a portfolio piece, ie
- loading shaders on a key press
- removing the rotation and replacing with mouse rotation
- adding text information to the scene
Unfortunatelly, not all the effects work properly, because of the 24 hours limit. The main bug is at the halo effect. It was supposed to be an interpolation between the halo colour and the background colour. The app draws a scaled skull using a yellowy colour, than it draws the original skull in the next pass.
The method i wanted to use for glowing was a gaussian blur, and have a ps for that, but i doubt ps1.1 can support many texture samples. I had troubles with sampling a texture with other texCoords than the input ones, so I had to give up to this because of the time limits. It is still an open pb of how to solve this using shader model 1.1.
What the app currently does is to approximate the pixel position and yield an interpolate color, but the position is obviously wrong, as the yellow hallo appears on the top of the skull, and it gets whiter at the bottom part.
No comments:
Post a Comment