Typedefs | Enumerations
Types & Enums

Primitive type definitions and enumations. More...

Typedefs

typedef enum _Evas_3D_Space Evas_3D_Space
 Transform space. More...
 
typedef enum _Evas_3D_Node_Type Evas_3D_Node_Type
 Types of a node. More...
 
typedef enum _Evas_3D_Vertex_Attrib Evas_3D_Vertex_Attrib
 Vertex attribute IDs. More...
 
typedef enum _Evas_3D_Index_Format Evas_3D_Index_Format
 Index formats. More...
 
typedef enum
_Evas_3D_Vertex_Assembly 
Evas_3D_Vertex_Assembly
 Vertex assembly modes. More...
 
typedef enum _Evas_3D_Color_Format Evas_3D_Color_Format
 Color formats of pixel data. More...
 
typedef enum _Evas_3D_Pixel_Format Evas_3D_Pixel_Format
 Pixel formats. More...
 
typedef enum _Evas_3D_Wrap_Mode Evas_3D_Wrap_Mode
 Wrap modes. More...
 
typedef enum
_Evas_3D_Texture_Filter 
Evas_3D_Texture_Filter
 Texture filters. More...
 
typedef enum _Evas_3D_Shade_Mode Evas_3D_Shade_Mode
 Shade modes. More...
 
typedef enum
_Evas_3D_Material_Attrib 
Evas_3D_Material_Attrib
 Material attributes. More...
 
typedef enum
_Evas_3D_Mesh_File_Type 
Evas_3D_Mesh_File_Type
 Mesh file type. More...
 
typedef double Evas_Real
 Floating-point data type. More...
 

Enumerations

enum  _Evas_3D_Space {
  EVAS_3D_SPACE_LOCAL = 0,
  EVAS_3D_SPACE_PARENT,
  EVAS_3D_SPACE_WORLD
}
 Transform space. More...
 
enum  _Evas_3D_Node_Type {
  EVAS_3D_NODE_TYPE_NODE = 0,
  EVAS_3D_NODE_TYPE_CAMERA,
  EVAS_3D_NODE_TYPE_LIGHT,
  EVAS_3D_NODE_TYPE_MESH
}
 Types of a node. More...
 
enum  _Evas_3D_Vertex_Attrib {
  EVAS_3D_VERTEX_POSITION = 0,
  EVAS_3D_VERTEX_NORMAL,
  EVAS_3D_VERTEX_TANGENT,
  EVAS_3D_VERTEX_COLOR,
  EVAS_3D_VERTEX_TEXCOORD
}
 Vertex attribute IDs. More...
 
enum  _Evas_3D_Index_Format {
  EVAS_3D_INDEX_FORMAT_NONE = 0,
  EVAS_3D_INDEX_FORMAT_UNSIGNED_BYTE,
  EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT
}
 Index formats. More...
 
enum  _Evas_3D_Vertex_Assembly {
  EVAS_3D_VERTEX_ASSEMBLY_POINTS = 0,
  EVAS_3D_VERTEX_ASSEMBLY_LINES,
  EVAS_3D_VERTEX_ASSEMBLY_LINE_STRIP,
  EVAS_3D_VERTEX_ASSEMBLY_LINE_LOOP,
  EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES,
  EVAS_3D_VERTEX_ASSEMBLY_TRIANGLE_STRIP,
  EVAS_3D_VERTEX_ASSEMBLY_TRIANGLE_FAN
}
 Vertex assembly modes. More...
 
enum  _Evas_3D_Color_Format {
  EVAS_3D_COLOR_FORMAT_RGBA = 0,
  EVAS_3D_COLOR_FORMAT_RGB,
  EVAS_3D_COLOR_FORMAT_ALPHA
}
 Color formats of pixel data. More...
 
enum  _Evas_3D_Pixel_Format {
  EVAS_3D_PIXEL_FORMAT_8 = 0,
  EVAS_3D_PIXEL_FORMAT_565,
  EVAS_3D_PIXEL_FORMAT_888,
  EVAS_3D_PIXEL_FORMAT_8888,
  EVAS_3D_PIXEL_FORMAT_4444,
  EVAS_3D_PIXEL_FORMAT_5551
}
 Pixel formats. More...
 
enum  _Evas_3D_Wrap_Mode {
  EVAS_3D_WRAP_MODE_CLAMP = 0,
  EVAS_3D_WRAP_MODE_REPEAT,
  EVAS_3D_WRAP_MODE_REFLECT
}
 Wrap modes. More...
 
enum  _Evas_3D_Texture_Filter {
  EVAS_3D_TEXTURE_FILTER_NEAREST = 0,
  EVAS_3D_TEXTURE_FILTER_LINEAR,
  EVAS_3D_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST,
  EVAS_3D_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST,
  EVAS_3D_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR,
  EVAS_3D_TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR
}
 Texture filters. More...
 
enum  _Evas_3D_Shade_Mode {
  EVAS_3D_SHADE_MODE_VERTEX_COLOR = 0,
  EVAS_3D_SHADE_MODE_DIFFUSE,
  EVAS_3D_SHADE_MODE_FLAT,
  EVAS_3D_SHADE_MODE_PHONG,
  EVAS_3D_SHADE_MODE_NORMAL_MAP
}
 Shade modes. More...
 
enum  _Evas_3D_Material_Attrib {
  EVAS_3D_MATERIAL_AMBIENT = 0,
  EVAS_3D_MATERIAL_DIFFUSE,
  EVAS_3D_MATERIAL_SPECULAR,
  EVAS_3D_MATERIAL_EMISSION,
  EVAS_3D_MATERIAL_NORMAL
}
 Material attributes. More...
 
enum  _Evas_3D_Mesh_File_Type { EVAS_3D_MESH_FILE_TYPE_MD2 = 0 }
 Mesh file type. More...
 

Detailed Description

Primitive type definitions and enumations.

Typedef Documentation

Transform space.

Since
1.10

Types of a node.

Since
1.10

Vertex attribute IDs.

Since
1.10

Index formats.

Since
1.10

Vertex assembly modes.

Vertex assembly represents how the vertices are organized into geometric primitives.

Since
1.10

Color formats of pixel data.

Since
1.10

Pixel formats.

Since
1.10

Wrap modes.

Since
1.10

Texture filters.

Since
1.10

Shade modes.

Since
1.10

Material attributes.

Since
1.10

Mesh file type.

Since
1.10

Floating-point data type.

Evas 3D use its own floating-point type. Even though it's a standard IEEE 754 floating-point type always use Evas_Real for the type safety. Double precision and fixed-point types will be useful but it's not supported yet.

Since
1.10

Enumeration Type Documentation

Transform space.

Since
1.10
Enumerator
EVAS_3D_SPACE_LOCAL 

Local coordinate space.

EVAS_3D_SPACE_PARENT 

Parent coordinate space.

EVAS_3D_SPACE_WORLD 

World coordinate space.

Types of a node.

Since
1.10
Enumerator
EVAS_3D_NODE_TYPE_NODE 

Node with no items.

EVAS_3D_NODE_TYPE_CAMERA 

Node which can contain camera object.

EVAS_3D_NODE_TYPE_LIGHT 

Node which can contain light object.

EVAS_3D_NODE_TYPE_MESH 

Node which can contain mesh objects.

Vertex attribute IDs.

Since
1.10
Enumerator
EVAS_3D_VERTEX_POSITION 

Vertex position.

EVAS_3D_VERTEX_NORMAL 

Vertex normal.

EVAS_3D_VERTEX_TANGENT 

Vertex tangent (for normal mapping)

EVAS_3D_VERTEX_COLOR 

Vertex color.

EVAS_3D_VERTEX_TEXCOORD 

Vertex texture coordinate.

Index formats.

Since
1.10
Enumerator
EVAS_3D_INDEX_FORMAT_NONE 

Indexing is not used.

EVAS_3D_INDEX_FORMAT_UNSIGNED_BYTE 

Index is of type unsigned byte.

EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT 

Index is of type unsigned short.

Vertex assembly modes.

Vertex assembly represents how the vertices are organized into geometric primitives.

Since
1.10
Enumerator
EVAS_3D_VERTEX_ASSEMBLY_POINTS 

A vertex is rendered as a point.

Two vertices are organized as a line

EVAS_3D_VERTEX_ASSEMBLY_LINES 

Vertices are organized as a connected line path.

EVAS_3D_VERTEX_ASSEMBLY_LINE_STRIP 

Vertices are organized as a closed line path.

EVAS_3D_VERTEX_ASSEMBLY_LINE_LOOP 

Three vertices are organized as a triangle.

EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES 

Vertices are organized as connected triangles.

EVAS_3D_VERTEX_ASSEMBLY_TRIANGLE_STRIP 

Vertices are organized as a triangle fan.

Color formats of pixel data.

Since
1.10
Enumerator
EVAS_3D_COLOR_FORMAT_RGBA 

Color contains full components, red, green, blue and alpha.

Color contains only red, green and blue components

EVAS_3D_COLOR_FORMAT_RGB 

Color contains only alpha component.

Pixel formats.

Since
1.10
Enumerator
EVAS_3D_PIXEL_FORMAT_8 

8-bit pixel with single component

16-bit pixel with three components (5-6-5 bit)

EVAS_3D_PIXEL_FORMAT_565 

24-bit pixel with three 8-bit components

EVAS_3D_PIXEL_FORMAT_888 

32-bit pixel with four 8-bit components

EVAS_3D_PIXEL_FORMAT_8888 

16-bit pixel with four 4-bit components

EVAS_3D_PIXEL_FORMAT_4444 

16-bit pixel with four components (5-5-5-1 bit)

Wrap modes.

Since
1.10
Enumerator
EVAS_3D_WRAP_MODE_CLAMP 

Values will be clamped to be in range [min, max].

Values will be repeated

EVAS_3D_WRAP_MODE_REPEAT 

Values will be repeated in a reflected manner.

Texture filters.

Since
1.10
Enumerator
EVAS_3D_TEXTURE_FILTER_NEAREST 

Samples nearest texel.

Lineary interpolate nearby texels

EVAS_3D_TEXTURE_FILTER_LINEAR 

Nearest sampling mipmap.

EVAS_3D_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST 

Nearest sampling mipmap and interpolate.

EVAS_3D_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST 

Linear sampling in nearest mipmap.

EVAS_3D_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR 

Linear sampling in mipmap and interpolate.

Shade modes.

Since
1.10
Enumerator
EVAS_3D_SHADE_MODE_VERTEX_COLOR 

Shaded using vertex color attribute.

Shaded using material diffuse term

EVAS_3D_SHADE_MODE_DIFFUSE 

Per-vertex flat lighting.

EVAS_3D_SHADE_MODE_FLAT 

Per-pixel phong shading.

EVAS_3D_SHADE_MODE_PHONG 

Per-pixel normal map shading.

Material attributes.

Since
1.10
Enumerator
EVAS_3D_MATERIAL_AMBIENT 

Ambient term.

EVAS_3D_MATERIAL_DIFFUSE 

Diffuse term.

EVAS_3D_MATERIAL_SPECULAR 

Specular term.

EVAS_3D_MATERIAL_EMISSION 

Emission term.

EVAS_3D_MATERIAL_NORMAL 

Normal map term.

Mesh file type.

Since
1.10
Enumerator
EVAS_3D_MESH_FILE_TYPE_MD2 

Quake's MD2 mesh file format.