/*************************************************************************************** ***** INTERFACE IMRTSHADER ***** **************************************************************************************** ** Author: Peter Stuart ** Date: 8/1/98 ** Description: This is used to interface with a shader. The shader will color a point ** based on many variables which are part of the ShaderInfo structure. The structure ** of the shaders are very similar to RenderMan shaders. ** ** Interface Functions: ** ** Shade - This function takes the information in the ShaderInfo structure and ** based on that colors the pixel. ** GetShaderType - This returns the type of shader. Types can be: ** SHADER_MODEL - This type does the actual shading of an object ** SHADER_PATTERN - This type changes the color of the object ** SHADER_SURFACE - This type does both coloring and shading ** SHADER_ATMOSPHERE - This type can be used as an environment shader ***************************************************************************************/ #include #include #include "IMRTInterface.hpp" #include "3DMath.hpp" #include "Shader.hpp" #ifndef __IMRTSHADER__ #define __IMRTSHADER__ interface IMRTShader : public IMRTInterface { virtual HRESULT pascal Shade (ShaderInfo*) = 0; virtual HRESULT pascal GetShaderType (int*) = 0; }; #endif