Blender V2.61 - r43446
Public Types | Public Member Functions

RAS_IRasterizer Class Reference

#include <RAS_IRasterizer.h>

Inheritance diagram for RAS_IRasterizer:
Inheritance graph
[legend]

List of all members.

Public Types

enum  DrawType {
  KX_BOUNDINGBOX = 1, KX_WIREFRAME, KX_SOLID, KX_SHADED,
  KX_TEXTURED, KX_SHADOW
}
enum  DrawMode { KX_MODE_LINES = 1, KX_MODE_TRIANGLES, KX_MODE_QUADS }
enum  DepthMask { KX_DEPTHMASK_ENABLED = 1, KX_DEPTHMASK_DISABLED }
enum  { RAS_RENDER_3DPOLYGON_TEXT = 64, KX_BACKCULL = 16, KX_TEX = 4096, KX_LINES = 32768 }
enum  StereoMode {
  RAS_STEREO_NOSTEREO = 1, RAS_STEREO_QUADBUFFERED, RAS_STEREO_ABOVEBELOW, RAS_STEREO_INTERLACED,
  RAS_STEREO_ANAGLYPH, RAS_STEREO_SIDEBYSIDE, RAS_STEREO_VINTERLACE, RAS_STEREO_DOME,
  RAS_STEREO_MAXSTEREO
}
enum  TexCoGen {
  RAS_TEXCO_GEN, RAS_TEXCO_ORCO, RAS_TEXCO_GLOB, RAS_TEXCO_UV1,
  RAS_TEXCO_OBJECT, RAS_TEXCO_LAVECTOR, RAS_TEXCO_VIEW, RAS_TEXCO_STICKY,
  RAS_TEXCO_WINDOW, RAS_TEXCO_NORM, RAS_TEXTANGENT, RAS_TEXCO_UV2,
  RAS_TEXCO_VCOL, RAS_TEXCO_DISABLE
}
enum  StereoEye { RAS_STEREO_LEFTEYE = 1, RAS_STEREO_RIGHTEYE }

Public Member Functions

 RAS_IRasterizer (RAS_ICanvas *canv)
virtual ~RAS_IRasterizer ()
virtual void SetDepthMask (DepthMask depthmask)=0
virtual bool SetMaterial (const RAS_IPolyMaterial &mat)=0
virtual bool Init ()=0
virtual void Exit ()=0
virtual bool BeginFrame (int drawingmode, double time)=0
virtual void ClearColorBuffer ()=0
virtual void ClearDepthBuffer ()=0
virtual void ClearCachingInfo (void)=0
virtual void EndFrame ()=0
virtual void SetRenderArea ()=0
virtual void SetStereoMode (const StereoMode stereomode)=0
virtual bool Stereo ()=0
virtual StereoMode GetStereoMode ()=0
virtual bool InterlacedStereo ()=0
virtual void SetEye (const StereoEye eye)=0
virtual StereoEye GetEye ()=0
virtual void SetEyeSeparation (const float eyeseparation)=0
virtual float GetEyeSeparation ()=0
virtual void SetFocalLength (const float focallength)=0
virtual float GetFocalLength ()=0
virtual void SwapBuffers ()=0
virtual void IndexPrimitives (class RAS_MeshSlot &ms)=0
virtual void IndexPrimitivesMulti (class RAS_MeshSlot &ms)=0
virtual void IndexPrimitives_3DText (class RAS_MeshSlot &ms, class RAS_IPolyMaterial *polymat, class RAS_IRenderTools *rendertools)=0
virtual void SetProjectionMatrix (MT_CmMatrix4x4 &mat)=0
virtual void SetProjectionMatrix (const MT_Matrix4x4 &mat)=0
virtual void SetViewMatrix (const MT_Matrix4x4 &mat, const MT_Matrix3x3 &ori, const MT_Point3 &pos, bool perspective)=0
virtual const MT_Point3GetCameraPosition ()=0
virtual bool GetCameraOrtho ()=0
virtual void SetFog (float start, float dist, float r, float g, float b)=0
virtual void SetFogColor (float r, float g, float b)=0
virtual void SetFogStart (float start)=0
virtual void SetFogEnd (float end)=0
virtual void DisplayFog ()=0
virtual void DisableFog ()=0
virtual bool IsFogEnabled ()=0
virtual void SetBackColor (float red, float green, float blue, float alpha)=0
virtual void SetDrawingMode (int drawingmode)=0
virtual int GetDrawingMode ()=0
virtual void SetCullFace (bool enable)=0
virtual void SetLines (bool enable)=0
virtual double GetTime ()=0
virtual MT_Matrix4x4 GetFrustumMatrix (float left, float right, float bottom, float top, float frustnear, float frustfar, float focallength=0.0f, bool perspective=true)=0
virtual MT_Matrix4x4 GetOrthoMatrix (float left, float right, float bottom, float top, float frustnear, float frustfar)=0
virtual void SetSpecularity (float specX, float specY, float specZ, float specval)=0
virtual void SetShinyness (float shiny)=0
virtual void SetDiffuse (float difX, float difY, float difZ, float diffuse)=0
virtual void SetEmissive (float eX, float eY, float eZ, float e)=0
virtual void SetAmbientColor (float red, float green, float blue)=0
virtual void SetAmbient (float factor)=0
virtual void SetPolygonOffset (float mult, float add)=0
virtual void DrawDebugLine (const MT_Vector3 &from, const MT_Vector3 &to, const MT_Vector3 &color)=0
virtual void DrawDebugCircle (const MT_Vector3 &center, const MT_Scalar radius, const MT_Vector3 &color, const MT_Vector3 &normal, int nsector)=0
virtual void FlushDebugShapes ()=0
virtual void SetTexCoordNum (int num)=0
virtual void SetAttribNum (int num)=0
virtual void SetTexCoord (TexCoGen coords, int unit)=0
virtual void SetAttrib (TexCoGen coords, int unit)=0
virtual const MT_Matrix4x4GetViewMatrix () const =0
virtual const MT_Matrix4x4GetViewInvMatrix () const =0
virtual bool QueryLists ()
virtual bool QueryArrays ()
virtual void EnableMotionBlur (float motionblurvalue)=0
virtual void DisableMotionBlur ()=0
virtual float GetMotionBlurValue ()=0
virtual int GetMotionBlurState ()=0
virtual void SetMotionBlurState (int newstate)=0
virtual void SetAlphaBlend (int alphablend)=0
virtual void SetFrontFace (bool ccw)=0
virtual void SetAnisotropicFiltering (short level)=0
virtual short GetAnisotropicFiltering ()=0

Detailed Description

3D rendering device context interface.

Definition at line 64 of file RAS_IRasterizer.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
RAS_RENDER_3DPOLYGON_TEXT 
KX_BACKCULL 
KX_TEX 
KX_LINES 

Definition at line 102 of file RAS_IRasterizer.h.

Valid SetDepthMask parameters

Enumerator:
KX_DEPTHMASK_ENABLED 
KX_DEPTHMASK_DISABLED 

Definition at line 95 of file RAS_IRasterizer.h.

Drawing modes

Enumerator:
KX_MODE_LINES 
KX_MODE_TRIANGLES 
KX_MODE_QUADS 

Definition at line 86 of file RAS_IRasterizer.h.

Drawing types

Enumerator:
KX_BOUNDINGBOX 
KX_WIREFRAME 
KX_SOLID 
KX_SHADED 
KX_TEXTURED 
KX_SHADOW 

Definition at line 73 of file RAS_IRasterizer.h.

Render pass identifiers for stereo.

Enumerator:
RAS_STEREO_LEFTEYE 
RAS_STEREO_RIGHTEYE 

Definition at line 148 of file RAS_IRasterizer.h.

Stereo mode types

Enumerator:
RAS_STEREO_NOSTEREO 
RAS_STEREO_QUADBUFFERED 
RAS_STEREO_ABOVEBELOW 
RAS_STEREO_INTERLACED 
RAS_STEREO_ANAGLYPH 
RAS_STEREO_SIDEBYSIDE 
RAS_STEREO_VINTERLACE 
RAS_STEREO_DOME 
RAS_STEREO_MAXSTEREO 

Definition at line 112 of file RAS_IRasterizer.h.

Texture gen modes.

Enumerator:
RAS_TEXCO_GEN 
RAS_TEXCO_ORCO 
RAS_TEXCO_GLOB 
RAS_TEXCO_UV1 
RAS_TEXCO_OBJECT 
RAS_TEXCO_LAVECTOR 
RAS_TEXCO_VIEW 
RAS_TEXCO_STICKY 
RAS_TEXCO_WINDOW 
RAS_TEXCO_NORM 
RAS_TEXTANGENT 
RAS_TEXCO_UV2 
RAS_TEXCO_VCOL 
RAS_TEXCO_DISABLE 

Definition at line 128 of file RAS_IRasterizer.h.


Constructor & Destructor Documentation

RAS_IRasterizer::RAS_IRasterizer ( RAS_ICanvas canv) [inline]

Definition at line 67 of file RAS_IRasterizer.h.

virtual RAS_IRasterizer::~RAS_IRasterizer ( ) [inline, virtual]

Definition at line 68 of file RAS_IRasterizer.h.


Member Function Documentation

virtual bool RAS_IRasterizer::BeginFrame ( int  drawingmode,
double  time 
) [pure virtual]

BeginFrame is called at the start of each frame.

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_KetsjiEngine::BeginFrame(), and ImageRender::Render().

virtual void RAS_IRasterizer::ClearCachingInfo ( void  ) [pure virtual]

ClearCachingInfo clears the currently cached material.

Implemented in RAS_OpenGLRasterizer.

Referenced by RAS_BucketManager::Renderbuckets().

virtual void RAS_IRasterizer::ClearColorBuffer ( ) [pure virtual]

ClearColorBuffer clears the color buffer.

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_KetsjiEngine::ClearFrame().

virtual void RAS_IRasterizer::ClearDepthBuffer ( ) [pure virtual]

ClearDepthBuffer clears the depth buffer.

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_KetsjiEngine::Render(), and KX_KetsjiEngine::RenderDome().

virtual void RAS_IRasterizer::DisableFog ( ) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

virtual void RAS_IRasterizer::DisableMotionBlur ( ) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

Referenced by SCA_2DFilterActuator::Update().

virtual void RAS_IRasterizer::DisplayFog ( ) [pure virtual]
virtual void RAS_IRasterizer::DrawDebugCircle ( const MT_Vector3 center,
const MT_Scalar  radius,
const MT_Vector3 color,
const MT_Vector3 normal,
int  nsector 
) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_RasterizerDrawDebugCircle().

virtual void RAS_IRasterizer::DrawDebugLine ( const MT_Vector3 from,
const MT_Vector3 to,
const MT_Vector3 color 
) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_RasterizerDrawDebugLine().

virtual void RAS_IRasterizer::EnableMotionBlur ( float  motionblurvalue) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

Referenced by SCA_2DFilterActuator::Update().

virtual void RAS_IRasterizer::EndFrame ( ) [pure virtual]

EndFrame is called at the end of each frame.

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_KetsjiEngine::EndFrame().

virtual void RAS_IRasterizer::Exit ( ) [pure virtual]

Exit cleans up the renderer.

Implemented in RAS_ListRasterizer, RAS_OpenGLRasterizer, and RAS_VAOpenGLRasterizer.

Referenced by KX_KetsjiEngine::StopEngine().

virtual void RAS_IRasterizer::FlushDebugShapes ( ) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

virtual short RAS_IRasterizer::GetAnisotropicFiltering ( ) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

virtual bool RAS_IRasterizer::GetCameraOrtho ( ) [pure virtual]
virtual const MT_Point3& RAS_IRasterizer::GetCameraPosition ( ) [pure virtual]
virtual int RAS_IRasterizer::GetDrawingMode ( ) [pure virtual]
virtual StereoEye RAS_IRasterizer::GetEye ( ) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_KetsjiEngine::ClearFrame().

virtual float RAS_IRasterizer::GetEyeSeparation ( ) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

virtual float RAS_IRasterizer::GetFocalLength ( ) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

virtual MT_Matrix4x4 RAS_IRasterizer::GetFrustumMatrix ( float  left,
float  right,
float  bottom,
float  top,
float  frustnear,
float  frustfar,
float  focallength = 0.0f,
bool  perspective = true 
) [pure virtual]

Generates a projection matrix from the specified frustum.

Parameters:
leftthe left clipping plane
rightthe right clipping plane
bottomthe bottom clipping plane
topthe top clipping plane
frustnearthe near clipping plane
frustfarthe far clipping plane
Returns:
a 4x4 matrix representing the projection transform.

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_Dome::CalculateFrustum(), and ImageRender::Render().

virtual int RAS_IRasterizer::GetMotionBlurState ( ) [pure virtual]
virtual float RAS_IRasterizer::GetMotionBlurValue ( ) [pure virtual]
virtual MT_Matrix4x4 RAS_IRasterizer::GetOrthoMatrix ( float  left,
float  right,
float  bottom,
float  top,
float  frustnear,
float  frustfar 
) [pure virtual]

Generates a orthographic projection matrix from the specified frustum.

Parameters:
leftthe left clipping plane
rightthe right clipping plane
bottomthe bottom clipping plane
topthe top clipping plane
frustnearthe near clipping plane
frustfarthe far clipping plane
Returns:
a 4x4 matrix representing the projection transform.

Implemented in RAS_OpenGLRasterizer.

Referenced by ImageRender::Render().

virtual StereoMode RAS_IRasterizer::GetStereoMode ( ) [pure virtual]
virtual double RAS_IRasterizer::GetTime ( ) [pure virtual]
virtual const MT_Matrix4x4& RAS_IRasterizer::GetViewInvMatrix ( ) const [pure virtual]

Implemented in RAS_OpenGLRasterizer.

Referenced by LOD_QuadricEditor::Update().

virtual const MT_Matrix4x4& RAS_IRasterizer::GetViewMatrix ( ) const [pure virtual]

Implemented in RAS_OpenGLRasterizer.

Referenced by LOD_QuadricEditor::Update().

virtual void RAS_IRasterizer::IndexPrimitives ( class RAS_MeshSlot ms) [pure virtual]

IndexPrimitives: Renders primitives from mesh slot.

Implemented in RAS_ListRasterizer, RAS_OpenGLRasterizer, and RAS_VAOpenGLRasterizer.

Referenced by RAS_MaterialBucket::RenderMeshSlot().

virtual void RAS_IRasterizer::IndexPrimitives_3DText ( class RAS_MeshSlot ms,
class RAS_IPolyMaterial polymat,
class RAS_IRenderTools rendertools 
) [pure virtual]

IndexPrimitives_3DText will render text into the polygons. The text to be rendered is from

Parameters:
rendertoolsclient object's text property.

Implemented in RAS_OpenGLRasterizer.

Referenced by RAS_MaterialBucket::RenderMeshSlot().

virtual void RAS_IRasterizer::IndexPrimitivesMulti ( class RAS_MeshSlot ms) [pure virtual]
virtual bool RAS_IRasterizer::Init ( ) [pure virtual]

Init initialises the renderer.

Implemented in RAS_ListRasterizer, RAS_OpenGLRasterizer, and RAS_VAOpenGLRasterizer.

Referenced by GPG_Application::startEngine(), and StartKetsjiShell().

virtual bool RAS_IRasterizer::InterlacedStereo ( ) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_KetsjiEngine::ClearFrame().

virtual bool RAS_IRasterizer::IsFogEnabled ( ) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

virtual bool RAS_IRasterizer::QueryArrays ( ) [inline, virtual]

Definition at line 405 of file RAS_IRasterizer.h.

virtual bool RAS_IRasterizer::QueryLists ( ) [inline, virtual]

Reimplemented in RAS_ListRasterizer.

Definition at line 404 of file RAS_IRasterizer.h.

Referenced by RAS_MaterialBucket::RenderMeshSlot().

virtual void RAS_IRasterizer::SetAlphaBlend ( int  alphablend) [pure virtual]
virtual void RAS_IRasterizer::SetAmbient ( float  factor) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

virtual void RAS_IRasterizer::SetAmbientColor ( float  red,
float  green,
float  blue 
) [pure virtual]
virtual void RAS_IRasterizer::SetAnisotropicFiltering ( short  level) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

virtual void RAS_IRasterizer::SetAttrib ( TexCoGen  coords,
int  unit 
) [pure virtual]
virtual void RAS_IRasterizer::SetAttribNum ( int  num) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

Referenced by BL_BlenderShader::SetAttribs().

virtual void RAS_IRasterizer::SetBackColor ( float  red,
float  green,
float  blue,
float  alpha 
) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

Referenced by StartKetsjiShell().

virtual void RAS_IRasterizer::SetCullFace ( bool  enable) [pure virtual]
virtual void RAS_IRasterizer::SetDepthMask ( DepthMask  depthmask) [pure virtual]

SetDepthMask enables or disables writing a fragment's depth value to the Z buffer.

Implemented in RAS_OpenGLRasterizer.

virtual void RAS_IRasterizer::SetDiffuse ( float  difX,
float  difY,
float  difZ,
float  diffuse 
) [pure virtual]

Sets the diffuse color component of the lighting equation.

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_PolygonMaterial::DefaultActivate().

virtual void RAS_IRasterizer::SetDrawingMode ( int  drawingmode) [pure virtual]
Parameters:
drawingmode= KX_BOUNDINGBOX, KX_WIREFRAME, KX_SOLID, KX_SHADED or KX_TEXTURED.

Implemented in RAS_ListRasterizer, RAS_OpenGLRasterizer, and RAS_VAOpenGLRasterizer.

virtual void RAS_IRasterizer::SetEmissive ( float  eX,
float  eY,
float  eZ,
float  e 
) [pure virtual]

Sets the emissive color component of the lighting equation.

Implemented in RAS_OpenGLRasterizer.

virtual void RAS_IRasterizer::SetEye ( const StereoEye  eye) [pure virtual]

Sets which eye buffer subsequent primitives will be rendered to.

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_KetsjiEngine::Render().

virtual void RAS_IRasterizer::SetEyeSeparation ( const float  eyeseparation) [pure virtual]

Sets the distance between eyes for stereo mode.

Implemented in RAS_OpenGLRasterizer.

Referenced by GPG_Application::initEngine(), and StartKetsjiShell().

virtual void RAS_IRasterizer::SetFocalLength ( const float  focallength) [pure virtual]

Sets the focal length for stereo mode.

Implemented in RAS_OpenGLRasterizer.

virtual void RAS_IRasterizer::SetFog ( float  start,
float  dist,
float  r,
float  g,
float  b 
) [pure virtual]
virtual void RAS_IRasterizer::SetFogColor ( float  r,
float  g,
float  b 
) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

virtual void RAS_IRasterizer::SetFogEnd ( float  end) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

virtual void RAS_IRasterizer::SetFogStart ( float  start) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

virtual void RAS_IRasterizer::SetFrontFace ( bool  ccw) [pure virtual]
virtual void RAS_IRasterizer::SetLines ( bool  enable) [pure virtual]
virtual bool RAS_IRasterizer::SetMaterial ( const RAS_IPolyMaterial mat) [pure virtual]

SetMaterial sets the material settings for subsequent primitives to be rendered with. The material will be cached.

Implemented in RAS_OpenGLRasterizer.

Referenced by RAS_MaterialBucket::ActivateMaterial().

virtual void RAS_IRasterizer::SetMotionBlurState ( int  newstate) [pure virtual]
virtual void RAS_IRasterizer::SetPolygonOffset ( float  mult,
float  add 
) [pure virtual]

Sets a polygon offset. z depth will be: z1 = mult*z0 + add

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_PolygonMaterial::DefaultActivate().

virtual void RAS_IRasterizer::SetProjectionMatrix ( const MT_Matrix4x4 mat) [pure virtual]

Set the projection matrix for the rasterizer. This projects from camera coordinates to window coordinates.

Parameters:
matThe projection matrix.

Implemented in RAS_OpenGLRasterizer.

virtual void RAS_IRasterizer::SetProjectionMatrix ( MT_CmMatrix4x4 mat) [pure virtual]
virtual void RAS_IRasterizer::SetRenderArea ( ) [pure virtual]

SetRenderArea sets the render area from the 2d canvas. Returns true if only of subset of the canvas is used.

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_KetsjiEngine::BeginFrame().

virtual void RAS_IRasterizer::SetShinyness ( float  shiny) [pure virtual]

Sets the specular exponent component of the lighting equation.

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_PolygonMaterial::DefaultActivate().

virtual void RAS_IRasterizer::SetSpecularity ( float  specX,
float  specY,
float  specZ,
float  specval 
) [pure virtual]

Sets the specular color component of the lighting equation.

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_PolygonMaterial::DefaultActivate().

virtual void RAS_IRasterizer::SetStereoMode ( const StereoMode  stereomode) [pure virtual]
virtual void RAS_IRasterizer::SetTexCoord ( TexCoGen  coords,
int  unit 
) [pure virtual]
virtual void RAS_IRasterizer::SetTexCoordNum ( int  num) [pure virtual]

Implemented in RAS_OpenGLRasterizer.

Referenced by BL_BlenderShader::SetAttribs().

virtual void RAS_IRasterizer::SetViewMatrix ( const MT_Matrix4x4 mat,
const MT_Matrix3x3 ori,
const MT_Point3 pos,
bool  perspective 
) [pure virtual]
virtual bool RAS_IRasterizer::Stereo ( ) [pure virtual]

Stereo can be used to query if the rasterizer is in stereo mode.

Returns:
true if stereo mode is enabled.

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_KetsjiEngine::Render().

virtual void RAS_IRasterizer::SwapBuffers ( ) [pure virtual]

SwapBuffers swaps the back buffer with the front buffer.

Implemented in RAS_OpenGLRasterizer.

Referenced by KX_KetsjiEngine::EndFrame().


The documentation for this class was generated from the following file: