![]() |
Kochol Game Engine
0.1.0
|
Graphics classes. More...
Classes | |
struct | AnimationData |
class | Animation |
class | CMatPhong |
class | CMatTree |
Custom material for trees. More... | |
class | Color |
Color class. More... | |
class | Colorf |
In class rang ba 4 float hast. More... | |
class | CustomMaterial |
Custom material base class. More... | |
class | SimpleLightingCM |
Simple lighting. More... | |
class | DynamicHardwareBuffer |
Dynamic buffer for working with buffer witch to need change many times before rendering. More... | |
class | HardwareBuffer |
class | Image |
class | ImageData |
The image resource class. More... | |
class | Lighting |
In class interface asli kar ba nor ha hast. More... | |
class | Material |
class | MaterialManager |
class | MaterialParams |
class | MeshManager |
This class is for working with meshes and changing their vertex. More... | |
class | Renderer |
The Renderer interface has functions to work with graphics card. More... | |
class | Shader |
This class is for using shaders. More... | |
class | ShaderInstance |
struct | Vertex2 |
struct | Vertex3 |
3D Vertex More... | |
struct | Vertex3C |
3D Vertex with color More... | |
struct | Vertex3T |
3D Vertex with One texture. More... | |
struct | Vertex3CT |
3D Vertex with color and texture coordinate. More... | |
struct | Vertex3TN |
3D Vertex with one texture and normal vector. More... | |
struct | Vertex3TTN |
3D Vertex with two texcoord and normal vector. More... | |
struct | Vertex3TNC |
3D vertex with texture, normal and color. More... | |
struct | VertexNTC |
Normal, texture and color. More... | |
struct | Vertex3I |
3D vertex with Bone ID More... | |
struct | TextureInfo |
Etelate marbot be texture haye load shode ke tavasote SceneManager zakhire mishe. More... | |
struct | LightData |
Light structure. More... | |
struct | KeyFrame |
struct | Joint |
class | Texture |
class | Tile |
This class store tiles data for TileTexture class. More... | |
class | TileTexture |
class | VertexDec |
Custom vertex declaration. More... | |
struct | CustomVertexElement |
Use an array of CustomVertexElement to create custom vertices. More... |
Typedefs | |
typedef void(* | kgeRenderCallback )(KgeUnknown *Sender) |
standard callback function | |
typedef char * | ShaderHandle |
A handler for shader constant that you can change them with this handler. | |
typedef void * | CustomVertex |
Custom vertex pointer. |
Functions | |
int | GetKey (float fTime, const kge::gfx::KeyFrame *p, int num) |
template<class VType > | |
void | RecalculateNormals_Smooth (VType *verts, u32 numVerts, u16 *idx, u32 numIdx) |
Recalculate the normals. | |
template<class VposType , class VnorType > | |
void | RecalculateNormals_Smooth (VposType *pos, VnorType *normals, u32 numVerts, u16 *idx, u32 numIdx) |
Recalculate the normals. | |
template<class VnorType > | |
void | RecalculateNormals_Smooth (Vertex3 *pos, VnorType *normals, u32 numVerts, u16 *idx, u32 numIdx) |
Recalculate the normals. | |
template<class VnorType > | |
void | RecalculateNormals_Smooth32 (Vertex3 *pos, VnorType *normals, u32 numVerts, u32 *idx, u32 numIdx) |
Recalculate the normals. | |
void | RecalculateNormals_Smooth (Vertex3 *pos, Vertex3T *NorTex, u32 numVerts, u16 *idx, u32 numIdx) |
Recalculate the normals. | |
template<class VType > | |
void | RecalculateNormals_Flat (VType *verts, u32 numVerts, u16 *idx, u32 numIdx) |
Recalculate the normals. | |
template<class VType > | |
void | CalcBinormalsTangents (VType *verts, Vertex3 *TangentBinormal, u32 numVerts, u16 *idx, u32 numIdx) |
Calculate Binormal & Tangent. | |
template<class VType > | |
void | CalcBinormalsTangents32 (VType *verts, Vertex3 *TangentBinormal, u32 numVerts, u32 *idx, u32 numIdx) |
Calculate Binormal & Tangent. | |
void | CalcTangent (Vertex3 &normal, Vertex3 &tangent, Vertex3 &binormal, Vertex3 &vt1, Vertex3 &vt2, Vertex3 &vt3, Vertex2 &tc1, Vertex2 &tc2, Vertex2 &tc3) |
void | CalcBinormalsTangents (Vertex3 *Pos, Vertex3T *NorTex, Vertex3 *TangentBinormal, u32 numVerts, u16 *idx, u32 numIdx) |
Calculate Binormal & Tangent. | |
void | CalcBinormalsTangents32 (Vertex3 *Pos, Vertex3T *NorTex, Vertex3 *TangentBinormal, u32 numVerts, u32 *idx, u32 numIdx) |
Calculate Binormal & Tangent. | |
void | CalcBinormalsTangents (Vertex3 *Pos, VertexNTC *NorTex, Vertex3 *TangentBinormal, u32 numVerts, u16 *idx, u32 numIdx) |
Calculate Binormal & Tangent. | |
void | CalcBinormalsTangents32 (Vertex3 *Pos, VertexNTC *NorTex, Vertex3 *TangentBinormal, u32 numVerts, u32 *idx, u32 numIdx) |
Calculate Binormal & Tangent. |
Variables | |
static const char * | TextureFormatName [] |
Texture formats name. | |
static const char * | ParamUsageNames [] |
static const char * | ParamTypeNames [] |
struct kge::gfx::KeyFrame | PACK_STRUCT |
Graphics classes.
typedef void* kge::gfx::CustomVertex |
Custom vertex pointer.
Definition at line 17 of file VertexDec.h.
typedef void(* kge::gfx::kgeRenderCallback)(KgeUnknown *Sender) |
standard callback function
Definition at line 139 of file Renderer.h.
typedef char* kge::gfx::ShaderHandle |
enum kge::gfx::CullMode |
Definition at line 119 of file Renderer.h.
Definition at line 41 of file MaterialParams.h.
Definition at line 19 of file CustomMaterial.h.
Definition at line 132 of file Renderer.h.
enum kge::gfx::FogType |
Ghabeliat haye cart graphic.
EGCC_VertexShader1_1 |
Vertex Shader 1.1 |
EGCC_FragmentShader1_1 |
Fragment/Pixel Shader 1.1 |
EGCC_FragmentShader1_4 |
Fragment/Pixel Shader 1.4 |
EGCC_VertexShader2 |
Vertex Shader 2 |
EGCC_FragmentShader2 |
Fragment/Pixel Shader 2 |
EGCC_VertexShader3 |
Vertex Shader 3 |
EGCC_FragmentShader3 |
Fragment/Pixel Shader 3 |
EGCC_ShaderObject |
Shader object |
EGCC_GeometryShader4 |
Geometry shaders 4 |
EGCC_ShaderModel4 |
Shader model 4 |
EGCC_ShaderModel3 |
Shader model 3 |
EGCC_ShaderModel2 |
Shader model 2 |
EGCC_OpenGL2 |
OpenGL version 2.x |
EGCC_OpenGL3 |
OpenGL version 3.x |
EGCC_OpenGL4 |
OpenGL version 4.x |
EGCC_DXT1 |
Can device support DXT1 compression texture type. |
EGCC_DXT3 |
Can device support DXT3 compression texture type. |
EGCC_DXT5 |
Can device support DXT5 compression texture type. |
EGCC_INTZ |
INTZ allows a 24-bit depth buffer previously used for rendering to be bound as a texture |
EGCC_Count |
Don't use it |
Definition at line 81 of file Renderer.h.
Hardware buffers types.
Definition at line 16 of file HardwareBuffer.h.
enum kge::gfx::ImageType |
Noe imagei ke mikhahid load shavad.
E_IT_UnKnown | |
E_IT_BMP |
Agar ke mikhahid khode engine format tasvir ra peyda konad in meghdar ra benevisid(engine az roye pasvand format tasvir ra moshakhas mikonad. |
E_IT_JPEG |
BMP Image. JPEG Image |
Definition at line 30 of file SceneManager.h.
Index Buffer type 16 bit or 32 bit.
Definition at line 24 of file HardwareBuffer.h.
Definition at line 33 of file MaterialParams.h.
Definition at line 24 of file MaterialParams.h.
enum kge::gfx::LightType |
enum kge::gfx::ParamType |
EPT_Float | |
EPT_Float2 | |
EPT_Float3 | |
EPT_Float4 | |
EPT_Float3x3 | |
EPT_Float4x4 | |
EPT_Int | |
EPT_Int2 | |
EPT_Int3 | |
EPT_Int4 | |
EPT_Count |
Definition at line 71 of file MaterialParams.h.
enum kge::gfx::ParamUsage |
Definition at line 48 of file MaterialParams.h.
Definition at line 36 of file CustomMaterial.h.
Definition at line 126 of file Renderer.h.
Khasiat haye engine ke baraye render estefade mishe.
Definition at line 50 of file Renderer.h.
Texture formats.
Anvae tanzim ha baraye Texture ha.
ETP_Point | |
ETP_Linear |
Kamtarin Keifiyat bishtarin Sorat (Filtering). |
ETP_Anisotropic |
Keifiyate monaseb va sorate monesab baraye axar computer haye emroozi (Filtering). |
ETP_Wrap |
Behtarin keyfiyat kamtarin sorat (Filtering). |
ETP_BorderColor |
Texture baghale ham namayesh miyaband (Addressing). |
ETP_Clamp |
Border color (Addressing). |
ETP_Mirror |
Clamp Mode (Addressing). Mirror mode (Addressing). |
Definition at line 69 of file Renderer.h.
enum kge::gfx::TileType |
Noe matrixi ke mikhahid taghir bedid.
ETM_World | |
ETM_View |
World matrix. |
ETM_Projection |
View matrix. |
ETM_ViewProjection |
Projection matrix. |
Definition at line 41 of file Renderer.h.
Vertex Element Method enum.
EVEM_Default | |
EVEM_PartialU | |
EVEM_PartialV | |
EVEM_CrossUV | |
EVEM_UV | |
EVEM_LookUp | |
EVEM_LookUpPreSampled |
Definition at line 51 of file VertexElement.h.
Vertex Element Type enum.
Definition at line 23 of file VertexElement.h.
Vertex Element Usage enum.
EVEU_Position | |
EVEU_BlendWeight | |
EVEU_BlendIndices | |
EVEU_Normal | |
EVEU_PSize | |
EVEU_TexCoord | |
EVEU_Tangent | |
EVEU_Binormal | |
EVEU_TessFactor | |
EVEU_PositionT | |
EVEU_Color | |
EVEU_Fog | |
EVEU_Depth | |
EVEU_Sample |
Definition at line 64 of file VertexElement.h.
Definition at line 28 of file CustomMaterial.h.
enum kge::gfx::VertexType |
The Vertex Type.
EVT_V2 |
2D Vertex. |
EVT_V3 |
3D Vertex. |
EVT_V3C |
3D Vertex with color. |
EVT_V3T |
3D Vertex with texture. |
EVT_V3CT |
3D Vertex with color and texture coordinate. |
EVT_V3TN |
3D Vertex with texture and normal vector. |
EVT_V3TNC |
3D Vertex with texture and normal vector and color. |
EVT_V3TTN |
3D Vertex with two texcoord and normal vector. |
EVT_P0NT1BT2I3 |
Vertex3 + Normal vector + Texture coord + Tangent + Binormal in multi stream mode. |
EVT_P0NTC1BT2 |
Vertex3 + Normal vector + Texture coord + Color + Tangent + Binormal in multi stream mode. |
EVT_PJ0NT1BT2I3 |
Vertex3 + Joint index for hardware skinning + Normal vector + Texture coord + Tangent + Binormal + Instanced data in multi stream mode. |
EVT_Count |
For internal use |
void kge::gfx::CalcBinormalsTangents | ( | VType * | verts, |
Vertex3 * | TangentBinormal, | ||
u32 | numVerts, | ||
u16 * | idx, | ||
u32 | numIdx | ||
) |
Calculate Binormal & Tangent.
Definition at line 236 of file MeshManager.h.
References CalcTangent().
|
inline |
Calculate Binormal & Tangent.
Definition at line 361 of file MeshManager.h.
References CalcTangent().
|
inline |
Calculate Binormal & Tangent.
Definition at line 451 of file MeshManager.h.
References CalcTangent().
void kge::gfx::CalcBinormalsTangents32 | ( | VType * | verts, |
Vertex3 * | TangentBinormal, | ||
u32 | numVerts, | ||
u32 * | idx, | ||
u32 | numIdx | ||
) |
Calculate Binormal & Tangent.
Definition at line 282 of file MeshManager.h.
References CalcTangent().
|
inline |
Calculate Binormal & Tangent.
Definition at line 406 of file MeshManager.h.
References CalcTangent().
|
inline |
Calculate Binormal & Tangent.
Definition at line 496 of file MeshManager.h.
References CalcTangent().
|
inline |
Definition at line 327 of file MeshManager.h.
References kge::math::Vector::Cross(), kge::gfx::Vertex3::Normalize(), kge::gfx::Vertex2::X, and kge::gfx::Vertex2::Y.
Referenced by CalcBinormalsTangents(), and CalcBinormalsTangents32().
int kge::gfx::GetKey | ( | float | fTime, |
const kge::gfx::KeyFrame * | p, | ||
int | num | ||
) |
Referenced by kge::gfx::AnimationData::GetRotateKey(), and kge::gfx::AnimationData::GetTransKey().
void kge::gfx::RecalculateNormals_Flat | ( | VType * | verts, |
u32 | numVerts, | ||
u16 * | idx, | ||
u32 | numIdx | ||
) |
Recalculate the normals.
Definition at line 208 of file MeshManager.h.
References kge::math::Vector::Cross(), kge::math::Vector::Normalize(), kge::math::Vector::x, kge::math::Vector::y, and kge::math::Vector::z.
void kge::gfx::RecalculateNormals_Smooth | ( | VType * | verts, |
u32 | numVerts, | ||
u16 * | idx, | ||
u32 | numIdx | ||
) |
Recalculate the normals.
Definition at line 19 of file MeshManager.h.
References kge::math::Vector::Cross(), kge::math::Vector::Normalize(), kge::math::Vector::x, kge::math::Vector::y, and kge::math::Vector::z.
void kge::gfx::RecalculateNormals_Smooth | ( | VposType * | pos, |
VnorType * | normals, | ||
u32 | numVerts, | ||
u16 * | idx, | ||
u32 | numIdx | ||
) |
Recalculate the normals.
Definition at line 57 of file MeshManager.h.
References kge::math::Vector::Cross(), kge::math::Vector::Normalize(), kge::math::Vector::x, kge::math::Vector::y, and kge::math::Vector::z.
void kge::gfx::RecalculateNormals_Smooth | ( | Vertex3 * | pos, |
VnorType * | normals, | ||
u32 | numVerts, | ||
u16 * | idx, | ||
u32 | numIdx | ||
) |
Recalculate the normals.
Definition at line 95 of file MeshManager.h.
References kge::math::Vector::Cross(), kge::math::Vector::Normalize(), kge::math::Vector::x, kge::math::Vector::y, and kge::math::Vector::z.
|
inline |
Recalculate the normals.
Definition at line 170 of file MeshManager.h.
References kge::math::Vector::Cross(), kge::math::Vector::Normalize(), kge::gfx::Vertex3::Normalize(), kge::gfx::Vertex3T::pos, kge::math::Vector::x, kge::gfx::Vertex3::X, kge::math::Vector::y, kge::gfx::Vertex3::Y, kge::math::Vector::z, and kge::gfx::Vertex3::Z.
void kge::gfx::RecalculateNormals_Smooth32 | ( | Vertex3 * | pos, |
VnorType * | normals, | ||
u32 | numVerts, | ||
u32 * | idx, | ||
u32 | numIdx | ||
) |
Recalculate the normals.
Definition at line 133 of file MeshManager.h.
References kge::math::Vector::Cross(), kge::math::Vector::Normalize(), kge::math::Vector::x, kge::math::Vector::y, and kge::math::Vector::z.
struct kge::gfx::Joint kge::gfx::PACK_STRUCT |
|
static |
Definition at line 87 of file MaterialParams.h.
|
static |
Definition at line 61 of file MaterialParams.h.
|
static |