Typedefs | Enumerations
Types & Enums

Primitive type definitions and enumations. More...

Typedefs

typedef enum _Evas_Canvas3D_Space Evas_Canvas3D_Space
 Transform space. More...
 
typedef enum _Evas_Canvas3D_Node_Type Evas_Canvas3D_Node_Type
 Types of a node. More...
 
typedef enum _Evas_Canvas3D_Node_Orientation_Type Evas_Canvas3D_Node_Orientation_Type
 Types of node orientation. More...
 
typedef enum _Evas_Canvas3D_Vertex_Attrib Evas_Canvas3D_Vertex_Attrib
 Vertex attribute IDs. More...
 
typedef enum _Evas_Canvas3D_Index_Format Evas_Canvas3D_Index_Format
 Index formats. More...
 
typedef enum _Evas_Canvas3D_Frustum_Mode Evas_Canvas3D_Frustum_Mode
 Frustum modes. More...
 
typedef enum _Evas_Canvas3D_Vertex_Assembly Evas_Canvas3D_Vertex_Assembly
 Vertex assembly modes. More...
 
typedef enum _Evas_Canvas3D_Comparison Evas_Canvas3D_Comparison
 Comparsion functions for testing(alpha, depth, stencil) in fragment shader. More...
 
typedef enum _Evas_Canvas3D_Wrap_Mode Evas_Canvas3D_Wrap_Mode
 Wrap modes. More...
 
typedef enum _Evas_Canvas3D_Mesh_Primitive Evas_Canvas3D_Mesh_Primitive
 Mesh primitive. More...
 
typedef enum _Evas_Canvas3D_Primitive_Mode Evas_Canvas3D_Primitive_Mode
 Mode of mesh primitive. More...
 
typedef enum _Evas_Canvas3D_Texture_Filter Evas_Canvas3D_Texture_Filter
 Texture filters. More...
 
typedef enum _Evas_Canvas3D_Shade_Mode Evas_Canvas3D_Shade_Mode
 Shade modes. More...
 
typedef enum _Evas_Canvas3D_Material_Attrib Evas_Canvas3D_Material_Attrib
 Material attributes. More...
 
typedef double Evas_Real
 Floating-point data type. More...
 

Enumerations

enum  _Evas_Canvas3D_Space {
  EVAS_CANVAS3D_SPACE_LOCAL = 0,
  EVAS_CANVAS3D_SPACE_PARENT,
  EVAS_CANVAS3D_SPACE_WORLD
}
 Transform space. More...
 
enum  _Evas_Canvas3D_Node_Type {
  EVAS_CANVAS3D_NODE_TYPE_NODE = 0,
  EVAS_CANVAS3D_NODE_TYPE_CAMERA,
  EVAS_CANVAS3D_NODE_TYPE_LIGHT,
  EVAS_CANVAS3D_NODE_TYPE_MESH
}
 Types of a node. More...
 
enum  _Evas_Canvas3D_Node_Orientation_Type {
  EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE = 0,
  EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT,
  EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO,
  EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS,
  EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION
}
 Types of node orientation. More...
 
enum  _Evas_Canvas3D_Vertex_Attrib {
  EVAS_CANVAS3D_VERTEX_POSITION = 0,
  EVAS_CANVAS3D_VERTEX_NORMAL,
  EVAS_CANVAS3D_VERTEX_TANGENT,
  EVAS_CANVAS3D_VERTEX_COLOR,
  EVAS_CANVAS3D_VERTEX_TEXCOORD
}
 Vertex attribute IDs. More...
 
enum  _Evas_Canvas3D_Index_Format {
  EVAS_CANVAS3D_INDEX_FORMAT_NONE = 0,
  EVAS_CANVAS3D_INDEX_FORMAT_UNSIGNED_BYTE,
  EVAS_CANVAS3D_INDEX_FORMAT_UNSIGNED_SHORT
}
 Index formats. More...
 
enum  _Evas_Canvas3D_Frustum_Mode {
  EVAS_CANVAS3D_FRUSTUM_MODE_BSPHERE,
  EVAS_CANVAS3D_FRUSTUM_MODE_AABB,
  EVAS_CANVAS3D_FRUSTUM_MODE_CENTRAL_POINT
}
 Frustum modes. More...
 
enum  _Evas_Canvas3D_Vertex_Assembly {
  EVAS_CANVAS3D_VERTEX_ASSEMBLY_POINTS = 0,
  EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINES,
  EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINE_STRIP,
  EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINE_LOOP,
  EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES,
  EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLE_STRIP,
  EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLE_FAN
}
 Vertex assembly modes. More...
 
enum  _Evas_Canvas3D_Comparison {
  EVAS_CANVAS3D_COMPARISON_NEVER,
  EVAS_CANVAS3D_COMPARISON_LESS,
  EVAS_CANVAS3D_COMPARISON_EQUAL,
  EVAS_CANVAS3D_COMPARISON_LEQUAL,
  EVAS_CANVAS3D_COMPARISON_GREATER,
  EVAS_CANVAS3D_COMPARISON_NOTEQUAL,
  EVAS_CANVAS3D_COMPARISON_GEQUAL,
  EVAS_CANVAS3D_COMPARISON_ALWAYS
}
 Comparsion functions for testing(alpha, depth, stencil) in fragment shader. More...
 
enum  _Evas_Canvas3D_Wrap_Mode {
  EVAS_CANVAS3D_WRAP_MODE_CLAMP = 0,
  EVAS_CANVAS3D_WRAP_MODE_REPEAT,
  EVAS_CANVAS3D_WRAP_MODE_REFLECT
}
 Wrap modes. More...
 
enum  _Evas_Canvas3D_Mesh_Primitive {
  EVAS_CANVAS3D_MESH_PRIMITIVE_NONE = 0,
  EVAS_CANVAS3D_MESH_PRIMITIVE_SQUARE,
  EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE,
  EVAS_CANVAS3D_MESH_PRIMITIVE_CYLINDER,
  EVAS_CANVAS3D_MESH_PRIMITIVE_CONE,
  EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE,
  EVAS_CANVAS3D_MESH_PRIMITIVE_TORUS,
  EVAS_CANVAS3D_MESH_PRIMITIVE_SURFACE,
  EVAS_CANVAS3D_MESH_PRIMITIVE_TERRAIN,
  EVAS_CANVAS3D_MESH_PRIMITIVE_COUNT
}
 Mesh primitive. More...
 
enum  _Evas_Canvas3D_Primitive_Mode {
  EVAS_CANVAS3D_PRIMITIVE_MODE_DEFAULT = 0,
  EVAS_CANVAS3D_PRIMITIVE_MODE_WITHOUT_BASE,
  EVAS_CANVAS3D_PRIMITIVE_MODE_ALTERNATIVE_UV
}
 Mode of mesh primitive. More...
 
enum  _Evas_Canvas3D_Texture_Filter {
  EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST = 0,
  EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR,
  EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST,
  EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST,
  EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR,
  EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR
}
 Texture filters. More...
 
enum  _Evas_Canvas3D_Shade_Mode {
  EVAS_CANVAS3D_SHADE_MODE_VERTEX_COLOR = 0,
  EVAS_CANVAS3D_SHADE_MODE_DIFFUSE,
  EVAS_CANVAS3D_SHADE_MODE_FLAT,
  EVAS_CANVAS3D_SHADE_MODE_PHONG,
  EVAS_CANVAS3D_SHADE_MODE_NORMAL_MAP,
  EVAS_CANVAS3D_SHADE_MODE_SHADOW_MAP_RENDER,
  EVAS_CANVAS3D_SHADE_MODE_COLOR_PICK,
  EVAS_CANVAS3D_SHADE_MODE_PARALLAX_OCCLUSION
}
 Shade modes. More...
 
enum  _Evas_Canvas3D_Material_Attrib {
  EVAS_CANVAS3D_MATERIAL_AMBIENT = 0,
  EVAS_CANVAS3D_MATERIAL_DIFFUSE,
  EVAS_CANVAS3D_MATERIAL_SPECULAR,
  EVAS_CANVAS3D_MATERIAL_EMISSION,
  EVAS_CANVAS3D_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

Comparsion functions for testing(alpha, depth, stencil) in fragment shader.

Since
1.14

Wrap modes.

Since
1.10

Mesh primitive.

Since
1.12

Mode of mesh primitive.

Since
1.15

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_CANVAS3D_SPACE_LOCAL 

Local coordinate space.

EVAS_CANVAS3D_SPACE_PARENT 

Parent coordinate space.

EVAS_CANVAS3D_SPACE_WORLD 

World coordinate space.

Types of a node.

Since
1.10
Enumerator
EVAS_CANVAS3D_NODE_TYPE_NODE 

Node with no items.

EVAS_CANVAS3D_NODE_TYPE_CAMERA 

Node which can contain camera object.

EVAS_CANVAS3D_NODE_TYPE_LIGHT 

Node which can contain light object.

EVAS_CANVAS3D_NODE_TYPE_MESH 

Node which can contain mesh objects.

Types of node orientation.

Since
1.13
Enumerator
EVAS_CANVAS3D_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_CANVAS3D_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_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO 

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

EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS 

Node orientation is given as a quaternion.

Vertex attribute IDs.

Since
1.10
Enumerator
EVAS_CANVAS3D_VERTEX_POSITION 

Vertex position.

EVAS_CANVAS3D_VERTEX_NORMAL 

Vertex normal.

EVAS_CANVAS3D_VERTEX_TANGENT 

Vertex tangent (for normal mapping)

EVAS_CANVAS3D_VERTEX_COLOR 

Vertex color.

EVAS_CANVAS3D_VERTEX_TEXCOORD 

Vertex texture coordinate.

Index formats.

Since
1.10
Enumerator
EVAS_CANVAS3D_INDEX_FORMAT_NONE 

Indexing is not used.

EVAS_CANVAS3D_INDEX_FORMAT_UNSIGNED_BYTE 

Index is of type unsigned byte.

EVAS_CANVAS3D_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_CANVAS3D_VERTEX_ASSEMBLY_POINTS 

A vertex is rendered as a point.

Two vertices are organized as a line

EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINES 

Vertices are organized as a connected line path.

EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINE_STRIP 

Vertices are organized as a closed line path.

EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINE_LOOP 

Three vertices are organized as a triangle.

EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES 

Vertices are organized as connected triangles.

EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLE_STRIP 

Vertices are organized as a triangle fan.

Comparsion functions for testing(alpha, depth, stencil) in fragment shader.

Since
1.14
Enumerator
EVAS_CANVAS3D_COMPARISON_NEVER 

Never passes.

Passes if the incoming value is less than the reference value.

EVAS_CANVAS3D_COMPARISON_LESS 

Passes if the incoming value is equal to the reference value.

EVAS_CANVAS3D_COMPARISON_EQUAL 

Passes if the incoming value is less than or equal to the reference value.

EVAS_CANVAS3D_COMPARISON_LEQUAL 

Passes if the incoming value is greater than the reference value.

EVAS_CANVAS3D_COMPARISON_GREATER 

Passes if the incoming value is not equal to the reference value.

EVAS_CANVAS3D_COMPARISON_NOTEQUAL 

Passes if the incoming value is greater than or equal to the reference value.

EVAS_CANVAS3D_COMPARISON_GEQUAL 

Always passes (initial value).

Wrap modes.

Since
1.10
Enumerator
EVAS_CANVAS3D_WRAP_MODE_CLAMP 

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

Values will be repeated

EVAS_CANVAS3D_WRAP_MODE_REPEAT 

Values will be repeated in a reflected manner.

Mesh primitive.

Since
1.12
Enumerator
EVAS_CANVAS3D_MESH_PRIMITIVE_NONE 

An empty space.

One sided square

EVAS_CANVAS3D_MESH_PRIMITIVE_SQUARE 

Cube.

EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE 

Cylinder (can use precision and texture scale)

EVAS_CANVAS3D_MESH_PRIMITIVE_CYLINDER 

Cone (can use precision and texture scale)

EVAS_CANVAS3D_MESH_PRIMITIVE_CONE 

Sphere (can use precision and texture scale)

EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE 

Torus (can use ratio, precision and texture scale)

EVAS_CANVAS3D_MESH_PRIMITIVE_TORUS 

Custom surface (can use pointer to users function, precision and texture scale)

EVAS_CANVAS3D_MESH_PRIMITIVE_SURFACE 

Terrain as surface with pointer to Perlin's noise function.

EVAS_CANVAS3D_MESH_PRIMITIVE_TERRAIN 

Count of supported primitives.

Mode of mesh primitive.

Since
1.15
Enumerator
EVAS_CANVAS3D_PRIMITIVE_MODE_DEFAULT 

Default mode of primitive.

Primitive without base (supported for cylinder and cone)

EVAS_CANVAS3D_PRIMITIVE_MODE_WITHOUT_BASE 

Ptimitive with alternative UV (supported for sphere)

Texture filters.

Since
1.10
Enumerator
EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST 

Samples nearest texel.

Lineary interpolate nearby texels

EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR 

Nearest sampling mipmap.

EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST 

Nearest sampling mipmap and interpolate.

EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST 

Linear sampling in nearest mipmap.

EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR 

Linear sampling in mipmap and interpolate.

Shade modes.

Since
1.10
Enumerator
EVAS_CANVAS3D_SHADE_MODE_VERTEX_COLOR 

Shaded using vertex color attribute.

Shaded using material diffuse term

EVAS_CANVAS3D_SHADE_MODE_DIFFUSE 

Per-vertex flat lighting.

EVAS_CANVAS3D_SHADE_MODE_FLAT 

Per-pixel phong shading.

EVAS_CANVAS3D_SHADE_MODE_PHONG 

Per-pixel normal map shading.

EVAS_CANVAS3D_SHADE_MODE_NORMAL_MAP 

fragment color is defined by its z-coord

EVAS_CANVAS3D_SHADE_MODE_SHADOW_MAP_RENDER 

rendering to additional frame bufer

EVAS_CANVAS3D_SHADE_MODE_COLOR_PICK 

Per-pixel parallax occlusion map shading.

Material attributes.

Since
1.10
Enumerator
EVAS_CANVAS3D_MATERIAL_AMBIENT 

Ambient term.

EVAS_CANVAS3D_MATERIAL_DIFFUSE 

Diffuse term.

EVAS_CANVAS3D_MATERIAL_SPECULAR 

Specular term.

EVAS_CANVAS3D_MATERIAL_EMISSION 

Emission term.

EVAS_CANVAS3D_MATERIAL_NORMAL 

Normal map term.