Tramway SDK
renderer.h
Go to the documentation of this file.
1// Tramway Drifting and Dungeon Exploration Simulator SDK Runtime
2
3#ifndef TRAM_SDK_RENDER_RENDERER_H
4#define TRAM_SDK_RENDER_RENDERER_H
5
6#include <render/render.h>
7
8namespace tram::Render {
9
11enum renderflags: uint32_t {
12 FLAG_NO_RENDER = 0, //< Object is not rendered.
13 FLAG_RENDER = 1, //< Object is rendered.
14
15 FLAG_DRAW_INDEXED = 4, //< Vertex buffer has indices.
16 FLAG_REVERSE_SORT = 8, //< Furthest objects are rendered first.
17 FLAG_TRANSPARENT = 16, //< Object is transparent and is rendered last.
18 FLAG_NO_DEPTH_TEST = 32, //< Object is rendered on top of other objects.
19 FLAG_NO_DIRECTIONAL = 64, //< Object is not lit by directional lighting.
20 FLAG_DRAW_LINES = 128, //< Object is rendered as lines. Otherwise rendered as triangles.
21 FLAG_DISABLE_LIGHTING = 256, //< Object is rendered without lighting.
22 FLAG_NO_DEBUG = 512, //< Object does not get debugged.
23 FLAG_USE_AABB = 1024 //< Object has an AABB that can be used for filtering.
24};
25
28 COLORMODE_R, //< Contains only red channel, pixel is 1 byte long.
29 COLORMODE_RG, //< Contains red and green channels, pixel is 2 bytes long.
30 COLORMODE_RGB, //< Contains red, green and blue channels, pixel is 3 bytes long.
31 COLORMODE_RGBA //< Contains red, green, blue and alpha channels, pixel is 4 bytes long.
32};
33
37 TEXTUREFILTER_LINEAR, //< Textures use linear filtering.
38 TEXTUREFILTER_LINEAR_MIPMAPPED //< Textures use linear filtering and are mipmapped.
39};
40
43 enum {
46 UINT32
48 enum {
57 } ffp_type; //< Tells the FFP how to interpret this attribute.
58 uint32_t size; //< Size of the attribute, in bytes.
59 uint32_t stride; //< Distance between same attribute in different vertices, in bytes.
60 uint64_t offset; //< Offset of beginning of attribute in vertex buffer.
61};
62
66};
67
70
71
72}
73
74#endif // TRAM_SDK_RENDER_RENDERER_H
High-level Render system API.
Definition: gui.h:8
void RegisterVertexDefinition(vertexformat_t format, VertexDefinition definition)
Registers a VertexDefinition for a specified vertex format.
Definition: renderer.cpp:61
uint32_t vertexformat_t
Definition: render.h:19
renderflags
Flags for DrawListObjects.
Definition: renderer.h:11
@ FLAG_NO_RENDER
Definition: renderer.h:12
@ FLAG_DRAW_INDEXED
Definition: renderer.h:15
@ FLAG_NO_DEBUG
Definition: renderer.h:22
@ FLAG_REVERSE_SORT
Definition: renderer.h:16
@ FLAG_USE_AABB
Definition: renderer.h:23
@ FLAG_DISABLE_LIGHTING
Definition: renderer.h:21
@ FLAG_RENDER
Definition: renderer.h:13
@ FLAG_NO_DEPTH_TEST
Definition: renderer.h:18
@ FLAG_TRANSPARENT
Definition: renderer.h:17
@ FLAG_NO_DIRECTIONAL
Definition: renderer.h:19
@ FLAG_DRAW_LINES
Definition: renderer.h:20
ColorMode
Texture color mode.
Definition: renderer.h:27
@ COLORMODE_RG
Definition: renderer.h:29
@ COLORMODE_R
Definition: renderer.h:28
@ COLORMODE_RGBA
Definition: renderer.h:31
@ COLORMODE_RGB
Definition: renderer.h:30
TextureFilter
Texture filters.
Definition: renderer.h:35
@ TEXTUREFILTER_LINEAR
Definition: renderer.h:37
@ TEXTUREFILTER_LINEAR_MIPMAPPED
Definition: renderer.h:38
@ TEXTUREFILTER_NEAREST
Definition: renderer.h:36
VertexDefinition GetVertexDefinition(vertexformat_t format)
Returns a previously registered VertexDefinition.
Definition: renderer.cpp:76
Atributes for vertex buffer vertices.
Definition: renderer.h:42
@ FFP_COLOR
Definition: renderer.h:52
@ FFP_POSITION
Definition: renderer.h:50
@ FFP_BONE_INDEX
Definition: renderer.h:55
@ FFP_IGNORE
Definition: renderer.h:49
@ FFP_LIGHTMAP
Definition: renderer.h:54
@ FFP_BONE_WEIGHT
Definition: renderer.h:56
@ FFP_TEXTURE
Definition: renderer.h:53
@ FFP_NORMAL
Definition: renderer.h:51
uint32_t stride
Definition: renderer.h:59
uint32_t size
Definition: renderer.h:58
uint64_t offset
Definition: renderer.h:60
enum tram::Render::VertexAttribute::@81 ffp_type
@ INT32
Definition: renderer.h:45
@ FLOAT32
Definition: renderer.h:44
@ UINT32
Definition: renderer.h:46
enum tram::Render::VertexAttribute::@80 type
Definition: renderer.h:63
const VertexAttribute * attributes
Definition: renderer.h:64
size_t attribute_count
Definition: renderer.h:65