/***************************************************************************************
***** 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
               (
geocities.com/collegepark)