Camera类

来源:互联网 发布:vscode golang 配置 编辑:程序博客网 时间:2024/06/07 22:52

为视口添加Camera的类,用于显示。类的继承关系如下图
这里写图片描述
void setView(View *view)
说明:为camera设置依附的view
View *getView()
const View *getView() const
说明:得到该camera的view
void setStates(osg::State *states)
说明:为该camera设置states
osg::States *getStates()
const osg::States *getSates() const

void setAllowEventFocus(bool focus)
说明:设置可以得到事件焦点,就是可以接受外界消息。对于从视口,这个是不需要的
bool getAllowEventFocus() const

void setDisplaySettings(osg::DispalySetting *ds)
说明:设置displaySettings,控制在渲染时的一些信息
参数 ds 自定义的DisplaySetting类
osg::DisplaySetting *getDisplaySettings() const
说明:得到Displaysetting

void setClearColor(const Vec4 &color)
说明:设置清除缓存区背景的颜色RGBA格式
const Vec4 &getClearColor() const
说明:得到清除缓存区颜色设置

void setClearMask(GLbitfield mask)
说明 :设置使用清除标志
参数:清除标志,可以为以下值:GL_COLOR_BUFFER_BIT或者GL_DEPTH_BUFFER_BIT
Glbitfield getClearMask() const
说明:得到所设置的清除标志

void setColorMask(osg::ColorMask *colorMask)
说明:设置屏蔽颜色
参数:colorMask 屏蔽色值
void setColorMask(bool red , bool green , bool blue , bool alpha)
说明:设置屏蔽颜色

const ColorMask *getColorMask() const
ColorMask *getColorMask()
说明:得到所设置屏蔽的颜色

void setViewport(osg::Viewport *viewport)
void setViewport(int x , int y , int width , int height)
说明:设置视口的尺寸和位置
参数:viewport 归设置的视口类

void setTransformOrder(TransformOrder order)
说明:设置当局部向世界以及世界向局部转化时的矩阵相乘顺序
参数order 相乘顺序,可以为以下值:PRE_MULTIPLY、POST_MULTIPLY
TransformOrder getTransformOrder() const

void setProjectionResizePolicy(ProjectionResizePolicy policy)
说明:设置模型如何调整以适应视口
参数:ProjectionResizePolicy 调整策略,可以是以下值FIXED\HORIZONTAL\VERTICAL
ProjectionResizePolicy getProjectionResizePolicy() const
说明:得到调整策略,即模型如何调整以适应视口

void setProjectionMatrix(const osg::Matrixf &matrix)
说明:直接设置投影矩阵

void setProjectionMatrixAsOrtho(double left , double right , double bottom , double top , double zNear , double zFar)
说明:以正交投影的方式设置投影矩阵
void setProjectionMatrixAsOrtho2D(double left , double right , double bottom , double top)
说明:以正交投影的方式设置投影矩阵

void setProjectionMatrixAsFrustum(double left , double right , double bottom , double top , double zNear , double zFar)
说明:以平头截体的方式设置投影矩阵

void setProjectionMatrixAsPerspective(double fovy , double aspectRatio , double zNear , double zFar)
说明:以透视投影的方式设置投影矩阵
bool getProjectionMatrixAsPerspective(double fovy , double aspectRatio , double zNear , double zFar)
说明:以透视投影的方式得到投影矩阵,得到成功返回真

osg::Matrixd &getProjectionMatrix()
说明:得到投影矩阵

bool getProjectionMatrixAsOrtho(double &left , double &right , double bottom , double &top , double &zNear , double &zFar)
说明:以正交投影的方式得到投影矩阵,得到成功返回真

bool getProjectionMatrixAsFrustum(double &left , double &right , double bottom , double &top , double &zNear , double &zFar)
说明:以平头截体的方式得到投影矩阵

void setViewMatrix(const osg::Matrixd &matrix)
说明:设置观察矩阵
osg::Matrixd &getvViewMatrix()
说明:得到观察矩阵

void setViewMatrixAsLookAt(const osg::Vec3 &eye , const osg::Vec3 &center , const osg::Vec3 &up)
说明:使用lookat的观察方式设置观察矩阵
osg::Matrixd &getViewMatrixAsLookAt(const osg::Vec3 &eye , const osg::Vec3 &center , const osg::Vec3 &up , float lookDistance = 1.0f)
说明:使用lookat的观察方式得到观察矩阵

Matrixd getInverseViewMatrix() const
说明:得到观察矩阵的逆矩阵
void setRenderOrder(RenderOrder order , int orderNum = 0)
说明:设置渲染顺序,最后渲染会是顶层窗口
参数:order 渲染顺序,可以为PRE_RENDER,NESTED_RENDER,POST_RENDER
oderNum 如果级别相同,具体指出渲染次序
RenderOrder getRenderOrder() const
说明:得到设置的渲染顺序,最后渲染会是顶层窗口
int getRenderOrderNum() const
说明:得到渲染次序数目
bool isRenderToTextureCamera() const
说明:是否渲染至纹理相机,如果渲染了则返回真

void setRenderTargetImplementation(RenderTargetImplementation impl)
说明:设置渲染实现方式
参数:impl 渲染目标实现方式,可以为一下值:FRAME_BUFFER_OBJECT,PIXEL_BUFFER_RTT,PIXEL_BUFFER,FRAME_BUFFER,SEPERATE_WINDWO

void setDrawBuffer(Glenum buffer)
说明:设置DrawBuffer
void setReadBuffer(Glenum buffer)
说明:设置ReadBuffer

void osg::Camera::attach(BufferComponent buffer , GLenum internalFormat)
说明:设置一些Buffer到特殊的用途,可输出Buffer到纹理

void createCameraThread()
说明:创建Camera线程
void setCameraThread(OperationThread *gt)
说明:设置Camera线程
参数:gt 设置已有的Camera线程

OperationThread *getCameraThread()
说明:得到设置好的Camera线程
void setGraphicsContext(GraphicsContex *contex)
说明:设置上下文
参数:contex 传入需要设置的上下文

void setRenderer(osg::GraphicsOperation *rc)
说明:设置GraphicsOperation 可接受一个类的操作
参数:rc 传入设置的图形操作

void setRenderingCache(osg::Object *rc)
说明:设置渲染时的Cache,会在渲染子类图时使用
参数:rc 设置渲染时的Cache承接类

void setPreDrawCallback(DrawCallback *cb)
说明:设置Draw前的Callback
void setPostDrawCallback(DrawCallback *cb)
说明:设置Draw后的Callback

OpenThreads::Mutex *getDataChangeMutex() const
说明:得到数据改变的Mutex

0 0
原创粉丝点击