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_Node_Orientation_Type Evas_3D_Node_Orientation_Type
 Types of node orientation. 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_Frustum_Mode Evas_3D_Frustum_Mode
 Frustum modes. 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_Mesh_Primitive Evas_3D_Mesh_Primitive
 Mesh Primitive. 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 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_Node_Orientation_Type {
  EVAS_3D_NODE_ORIENTATION_TYPE_NONE = 0,
  EVAS_3D_NODE_ORIENTATION_TYPE_LOOK_AT,
  EVAS_3D_NODE_ORIENTATION_TYPE_LOOK_TO,
  EVAS_3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS,
  EVAS_3D_NODE_ORIENTATION_TYPE_QUATERNION
}
 Types of node orientation. 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_Frustum_Mode {
  EVAS_3D_FRUSTUM_MODE_BSPHERE,
  EVAS_3D_FRUSTUM_MODE_AABB,
  EVAS_3D_FRUSTUM_MODE_CENTRAL_POINT
}
 Frustum modes. 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_Mesh_Primitive {
  EVAS_3D_MESH_PRIMITIVE_NONE = 0,
  EVAS_3D_MESH_PRIMITIVE_CUBE = 1,
  EVAS_3D_MESH_PRIMITIVE_SPHERE = 2
}
 Mesh Primitive. 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,
  EVAS_3D_SHADE_MODE_SHADOW_MAP_RENDER
}
 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...
 

Detailed Description

Primitive type definitions and enumations.

Typedef Documentation

Transform space.

Since
1.10

Types of a node.

Since
1.10

Types of node orientation.

Since
1.13

Vertex attribute IDs.

Since
1.10

Index formats.

Since
1.10

Frustum modes.

Since
1.12

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

Mesh Primitive.

Since
1.12

Texture filters.

Since
1.10

Shade modes.

Since
1.10

Material attributes.

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.

Types of node orientation.

Since
1.13
Enumerator
EVAS_3D_NODE_ORIENTATION_TYPE_NONE 

Node with no orientation properties.

Node orientation is given as a point to look at and a vector that indicates the angle at which the subject is looking at the point

EVAS_3D_NODE_ORIENTATION_TYPE_LOOK_AT 

Node orientation is given as id of another part to look at and a vector that indicates the angle at which the subject is looking at the part.

EVAS_3D_NODE_ORIENTATION_TYPE_LOOK_TO 

Node orientation is given as an angle and an axis to rotate around.

EVAS_3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS 

Node orientation is given as a quaternion.

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.

Frustum modes.

Since
1.12

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.

Mesh Primitive.

Since
1.12

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.

EVAS_3D_SHADE_MODE_NORMAL_MAP 

fragment color is defined by its z-coord

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.