gdk-graphics 0b051eb9b5c1eaa0658babaa4463dd7a80aa9d2c
Loading...
Searching...
No Matches
graphics_types.h
1// © Joseph Cameron - All Rights Reserved
2
3#ifndef GDK_GRAPHICS_TYPES_H
4#define GDK_GRAPHICS_TYPES_H
5
6#include <gdk/matrix4x4.h>
7#include <gdk/quaternion.h>
8#include <gdk/vector2.h>
9#include <gdk/vector3.h>
10#include <gdk/vector4.h>
11
12#include <memory>
13
14namespace gdk {
15 class entity;
16 class material;
17 class model;
18 class scene;
19 class screen_camera;
20 class shader_program;
21 class texture;
22 class texture_camera;
23
24 namespace graphics {
25 class context;
26 }
27
30//
31 using camera_ptr_type = std::shared_ptr<screen_camera>;
32 using context_ptr_type = std::shared_ptr<graphics::context>;
33 using entity_ptr_type = std::shared_ptr<entity>;
34 using material_ptr_type = std::shared_ptr<material>;
35 using model_ptr_type = std::shared_ptr<model>;
36 using scene_ptr_type = std::shared_ptr<scene>;
37 using shader_ptr_type = std::shared_ptr<shader_program>;
38 using texture_camera_ptr_type = std::shared_ptr<texture_camera>;
39 using texture_ptr_type = std::shared_ptr<texture>;
40
41 using const_camera_ptr_type = std::shared_ptr<const screen_camera>;
42 using const_context_ptr_type = std::shared_ptr<const graphics::context>;
43 using const_entity_ptr_type = std::shared_ptr<const entity>;
44 using const_material_ptr_type = std::shared_ptr<const material>;
45 using const_model_ptr_type = std::shared_ptr<const model>;
46 using const_scene_ptr_type = std::shared_ptr<const scene>;
47 using const_shader_ptr_type = std::shared_ptr<const shader_program>;
48 using const_texture_camera_ptr_type = std::shared_ptr<const texture_camera>;
49 using const_texture_ptr_type = std::shared_ptr<const texture>;
51
54//
55 using graphics_floating_point_type = float;
56
57 using graphics_matrix4x4_type = matrix4x4<graphics_floating_point_type>;
58 using graphics_quaternion_type = quaternion<graphics_floating_point_type>;
59 using graphics_vector2_type = vector2<graphics_floating_point_type>;
60 using graphics_vector3_type = vector3<graphics_floating_point_type>;
61 using graphics_vector4_type = vector4<graphics_floating_point_type>;
63
66//
67 using graphics_signed_integral_type = int;
68
69 using graphics_intvector2_type = vector2<graphics_signed_integral_type>;
70 using graphics_intvector3_type = vector3<graphics_signed_integral_type>;
71 using graphics_intvector4_type = vector4<graphics_signed_integral_type>;
73}
74
75#endif
76
represents an observable 3d object.
Definition entity.h:13
entry point for gdk-graphics
Definition graphics_context.h:21
decides how models using the material should be drawn.
Definition material.h:22
Vertex data representing a 3D graphical object.
Definition model.h:10
a 3d environment within which cameras draw entities
Definition scene.h:16
Position, orientation and perspective from which entity(s) are drawn.
Definition screen_camera.h:15
Specifies drawing behaviours at the programmable stages in the graphics pipeline.
Definition shader_program.h:9
texture camera renders to textures instead of the screen
Definition texture_camera.h:12
uniform color data, usually used to color the surface of a 3d model, but also used for height maps,...
Definition texture.h:17