📄 shadbuf.h
字号:
/**********************************************************************
*<
FILE: shadbuf.h : Shadow buffer renderer.
DESCRIPTION:
CREATED BY: Dan Silva
HISTORY:
*> Copyright (c) 1994, All Rights Reserved.
**********************************************************************/
#ifndef __SHADBUF__H
#define __SHADBUF__H
class ShadBufRenderer {
public:
// Compute a shadow Z buffer for the current scene from the viewpoint of the light.
// NOTE: The computed shadow buffer has positive Z values as you go away from the light, which is
// the reverse of the MAX coord system.
// Returns the number of objects that the shadow volume intersected. If this value is 0,
// the shadow buffer can be freed to save memory.
virtual int Render(
RendContext &rc,
RenderGlobalContext *RGC,
float *buf, // preallocated (shadsize*shadsize) floats
BOOL parallel, // parallel or perspective projection
int shadsize, // size of the buffer (shadsize by shadsize pixels)
float param, // persp:field-of-view (radians) -- parallel : width in world coords
float aspect, // aspect ration of the buffer projection
float clipDist, // don't consider objects farther than this from light
ObjLightDesc *ltDesc, // descriptor for light that was passed in to CreateShadowGenerator
Matrix3 worldToLight // world to light transfor for light
)=0;
virtual float Furthest()=0; // after render, this gives the farthest Z in the buffer
virtual float Closest()=0; // after render, this gives the closest Z in the buffer.
virtual void DeleteThis()=0;
};
CoreExport ShadBufRenderer *NewDefaultShadBufRenderer();
#endif __SHADBUF__H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -