00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CS_IVIDEO_RNDBUF_H__
00021 #define __CS_IVIDEO_RNDBUF_H__
00022
00031 #include "csutil/strset.h"
00032
00033 class csVector3;
00034 class csVector2;
00035 class csColor;
00036 class csReversibleTransform;
00037 struct iTextureHandle;
00038 struct iMaterialWrapper;
00039
00040
00045 enum csRenderBufferType
00046 {
00047 CS_BUF_DYNAMIC,
00048 CS_BUF_STATIC
00049
00050 };
00051
00053 enum csRenderBufferComponentType
00054 {
00055 CS_BUFCOMP_BYTE = 0,
00056 CS_BUFCOMP_UNSIGNED_BYTE,
00057 CS_BUFCOMP_SHORT,
00058 CS_BUFCOMP_UNSIGNED_SHORT,
00059 CS_BUFCOMP_INT,
00060 CS_BUFCOMP_UNSIGNED_INT,
00061 CS_BUFCOMP_FLOAT,
00062 CS_BUFCOMP_DOUBLE
00063 };
00064
00070 enum csRenderBufferLockType
00071 {
00072 CS_BUF_LOCK_NOLOCK,
00073 CS_BUF_LOCK_NORMAL,
00074
00075 };
00076
00077 SCF_VERSION (iRenderBuffer, 0, 0, 2);
00078
00083 struct iRenderBuffer : public iBase
00084 {
00089 virtual void* Lock(csRenderBufferLockType lockType) = 0;
00090
00092 virtual void Release() = 0;
00093
00095 virtual int GetComponentCount () const = 0;
00096
00098 virtual csRenderBufferComponentType GetComponentType () const = 0;
00099
00101 virtual csRenderBufferType GetBufferType() const = 0;
00102
00104 virtual int GetSize() const = 0;
00105 };
00106
00107 SCF_VERSION (iRenderBufferSource, 0, 0, 1);
00108
00113 struct iRenderBufferSource : public iBase
00114 {
00116 virtual iRenderBuffer* GetRenderBuffer (csStringID name) = 0;
00117 };
00118
00121 #endif // __CS_IVIDEO_RNDBUF_H__