Primitive type definitions and enumations.
More...
|
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...
|
|
Primitive type definitions and enumations.
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
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
Mesh primitive.
- Since
- 1.12
Mode of mesh primitive.
- Since
- 1.15
Texture filters.
- 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
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.
|
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.
|