TDME2
1.9.200
src
tdme
engine
subsystems
texture2D
Texture2DRenderShader.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
tdme/tdme.h
>
4
#include <
tdme/engine/fwd-tdme.h
>
5
#include <
tdme/engine/subsystems/renderer/fwd-tdme.h
>
6
#include <
tdme/engine/subsystems/texture2D/fwd-tdme.h
>
7
#include <
tdme/math/Vector2.h
>
8
9
using
tdme::engine::subsystems::renderer::Renderer
;
10
11
using
tdme::engine::Engine
;
12
using
tdme::math::Vector2
;
13
14
/**
15
* Texture 2D render shader
16
* @author Andreas Drewke
17
*/
18
class
tdme::engine::subsystems::texture2D::Texture2DRenderShader
final
19
{
20
21
private
:
22
Renderer
*
renderer
{
nullptr
};
23
int32_t
vertexShaderId
{ -1 };
24
int32_t
fragmentShaderId
{ -1 };
25
int32_t
programId
{ -1 };
26
int32_t
uniformTextureUnit
{ -1 };
27
int32_t
vboVertices
{ -1 };
28
int32_t
vboTextureCoordinates
{-1 };
29
bool
initialized
;
30
bool
isRunning
;
31
32
public
:
33
// forbid class copy
34
FORBID_CLASS_COPY
(
Texture2DRenderShader
)
35
36
/**
37
* Public constructor
38
* @param renderer renderer
39
*/
40
Texture2DRenderShader
(
Renderer
*
renderer
);
41
42
/**
43
* Public destructor
44
*/
45
~Texture2DRenderShader
();
46
47
/**
48
* @return if initialized and ready to use
49
*/
50
bool
isInitialized
();
51
52
/**
53
* Initialize
54
*/
55
void
initialize
();
56
57
/**
58
* Dispose
59
*/
60
void
dispose
();
61
62
/**
63
* Use render program
64
*/
65
void
useProgram
();
66
67
/**
68
* Un use render program
69
*/
70
void
unUseProgram
();
71
72
/**
73
* Render texture
74
* @param engine engine to use
75
* @param position 2D position on screen
76
* @param dimension 2D dimenson on screen
77
* @param textureId texture id
78
* @param width optional render target width
79
* @param height optional render target height
80
*/
81
void
renderTexture
(
Engine
* engine,
const
Vector2
& position,
const
Vector2
& dimension,
int
textureId,
int
width = -1,
int
height = -1);
82
83
};
Vector2.h
tdme::engine::Engine
Engine main class.
Definition:
Engine.h:131
tdme::engine::subsystems::renderer::Renderer
Renderer interface.
Definition:
Renderer.h:46
tdme::engine::subsystems::texture2D::Texture2DRenderShader
Texture 2D render shader.
Definition:
Texture2DRenderShader.h:19
tdme::engine::subsystems::texture2D::Texture2DRenderShader::isInitialized
bool isInitialized()
Definition:
Texture2DRenderShader.cpp:33
tdme::engine::subsystems::texture2D::Texture2DRenderShader::vboTextureCoordinates
int32_t vboTextureCoordinates
Definition:
Texture2DRenderShader.h:28
tdme::engine::subsystems::texture2D::Texture2DRenderShader::fragmentShaderId
int32_t fragmentShaderId
Definition:
Texture2DRenderShader.h:24
tdme::engine::subsystems::texture2D::Texture2DRenderShader::uniformTextureUnit
int32_t uniformTextureUnit
Definition:
Texture2DRenderShader.h:26
tdme::engine::subsystems::texture2D::Texture2DRenderShader::initialize
void initialize()
Initialize.
Definition:
Texture2DRenderShader.cpp:38
tdme::engine::subsystems::texture2D::Texture2DRenderShader::programId
int32_t programId
Definition:
Texture2DRenderShader.h:25
tdme::engine::subsystems::texture2D::Texture2DRenderShader::isRunning
bool isRunning
Definition:
Texture2DRenderShader.h:30
tdme::engine::subsystems::texture2D::Texture2DRenderShader::renderTexture
void renderTexture(Engine *engine, const Vector2 &position, const Vector2 &dimension, int textureId, int width=-1, int height=-1)
Render texture.
Definition:
Texture2DRenderShader.cpp:97
tdme::engine::subsystems::texture2D::Texture2DRenderShader::vertexShaderId
int32_t vertexShaderId
Definition:
Texture2DRenderShader.h:23
tdme::engine::subsystems::texture2D::Texture2DRenderShader::vboVertices
int32_t vboVertices
Definition:
Texture2DRenderShader.h:27
tdme::engine::subsystems::texture2D::Texture2DRenderShader::dispose
void dispose()
Dispose.
Definition:
Texture2DRenderShader.cpp:78
tdme::engine::subsystems::texture2D::Texture2DRenderShader::useProgram
void useProgram()
Use render program.
Definition:
Texture2DRenderShader.cpp:83
tdme::engine::subsystems::texture2D::Texture2DRenderShader::~Texture2DRenderShader
~Texture2DRenderShader()
Public destructor.
Definition:
Texture2DRenderShader.cpp:29
tdme::engine::subsystems::texture2D::Texture2DRenderShader::unUseProgram
void unUseProgram()
Un use render program.
Definition:
Texture2DRenderShader.cpp:92
tdme::engine::subsystems::texture2D::Texture2DRenderShader::initialized
bool initialized
Definition:
Texture2DRenderShader.h:29
tdme::engine::subsystems::texture2D::Texture2DRenderShader::renderer
Renderer * renderer
Definition:
Texture2DRenderShader.h:22
tdme::engine::subsystems::texture2D::Texture2DRenderShader::Texture2DRenderShader
Texture2DRenderShader(Renderer *renderer)
Public constructor.
Definition:
Texture2DRenderShader.cpp:22
tdme::math::Vector2
Vector2 class representing vector2 mathematical structure and operations with x, y components.
Definition:
Vector2.h:20
fwd-tdme.h
fwd-tdme.h
fwd-tdme.h
tdme.h
FORBID_CLASS_COPY
#define FORBID_CLASS_COPY(CLASS)
Definition:
tdme.h:6
Generated by
1.9.1