Types & Enums

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files
- Examples

Typedefs | Enumerations
Types & Enums
Evas » Evas 3D Extensions

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_Comparison | Evas_3D_Comparison
| Comparsion functions for testing(alpha, depth, stencil) in fragment shader. 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_Comparison { EVAS_3D_COMPARISON_NEVER, EVAS_3D_COMPARISON_LESS, EVAS_3D_COMPARISON_EQUAL, EVAS_3D_COMPARISON_LEQUAL, EVAS_3D_COMPARISON_GREATER, EVAS_3D_COMPARISON_NOTEQUAL, EVAS_3D_COMPARISON_GEQUAL, EVAS_3D_COMPARISON_ALWAYS }
| Comparsion functions for testing(alpha, depth, stencil) in fragment shader. 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, EVAS_3D_SHADE_MODE_COLOR_PICK, EVAS_3D_SHADE_MODE_PARALLAX_OCCLUSION }
| 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

typedef enum _Evas_3D_Space Evas_3D_Space

Transform space.

Since
  1.10

typedef enum _Evas_3D_Node_Type Evas_3D_Node_Type

Types of a node.

Since
  1.10

typedef enum _Evas_3D_Node_Orientation_Type Evas_3D_Node_Orientation_Type

Types of node orientation.

Since
  1.13

typedef enum _Evas_3D_Vertex_Attrib Evas_3D_Vertex_Attrib

Vertex attribute IDs.

Since
  1.10

typedef enum _Evas_3D_Index_Format Evas_3D_Index_Format

Index formats.

Since
  1.10

typedef enum _Evas_3D_Frustum_Mode Evas_3D_Frustum_Mode

Frustum modes.

Since
  1.12

typedef enum _Evas_3D_Vertex_Assembly Evas_3D_Vertex_Assembly

Vertex assembly modes.

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

Since
  1.10

typedef enum _Evas_3D_Comparison Evas_3D_Comparison

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

Since
  1.14

typedef enum _Evas_3D_Color_Format Evas_3D_Color_Format

Color formats of pixel data.

Since
  1.10

typedef enum _Evas_3D_Pixel_Format Evas_3D_Pixel_Format

Pixel formats.

Since
  1.10

typedef enum _Evas_3D_Wrap_Mode Evas_3D_Wrap_Mode

Wrap modes.

Since
  1.10

typedef enum _Evas_3D_Mesh_Primitive Evas_3D_Mesh_Primitive

Mesh Primitive.

Since
  1.12

typedef enum _Evas_3D_Texture_Filter Evas_3D_Texture_Filter

Texture filters.

Since
  1.10

typedef enum _Evas_3D_Shade_Mode Evas_3D_Shade_Mode

Shade modes.

Since
  1.10

typedef enum _Evas_3D_Material_Attrib Evas_3D_Material_Attrib

Material attributes.

Since
  1.10

Evas_Real

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

enum _Evas_3D_Space

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.

enum _Evas_3D_Node_Type

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.

enum _Evas_3D_Node_Orientation_Type

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.

enum _Evas_3D_Vertex_Attrib

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.

enum _Evas_3D_Index_Format

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.

enum _Evas_3D_Frustum_Mode

Frustum modes.

Since
  1.12

enum _Evas_3D_Vertex_Assembly

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.

enum _Evas_3D_Comparison

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

Since
  1.14

Enumerator
EVAS_3D_COMPARISON_NEVER | Never passes. Passes if the incoming value is less than the reference value.
EVAS_3D_COMPARISON_LESS | Passes if the incoming value is equal to the reference value.
EVAS_3D_COMPARISON_EQUAL | Passes if the incoming value is less than or equal to the reference value.
EVAS_3D_COMPARISON_LEQUAL | Passes if the incoming value is greater than the reference value.
EVAS_3D_COMPARISON_GREATER | Passes if the incoming value is not equal to the reference value.
EVAS_3D_COMPARISON_NOTEQUAL | Passes if the incoming value is greater than or equal to the reference value.
EVAS_3D_COMPARISON_GEQUAL | Always passes (initial value).

enum _Evas_3D_Color_Format

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.

enum _Evas_3D_Pixel_Format

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)

enum _Evas_3D_Wrap_Mode

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.

enum _Evas_3D_Mesh_Primitive

Mesh Primitive.

Since
  1.12

enum _Evas_3D_Texture_Filter

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.

enum _Evas_3D_Shade_Mode

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
EVAS_3D_SHADE_MODE_SHADOW_MAP_RENDER | rendering to additional frame bufer
EVAS_3D_SHADE_MODE_COLOR_PICK | Per-pixel parallax occlusion map shading.

enum _Evas_3D_Material_Attrib

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.