PeriDyno 1.0.0
Loading...
Searching...
No Matches
Texture.h
Go to the documentation of this file.
1
16
17#pragma once
18
19#include "GraphicsObject.h"
20
21namespace dyno {
22
23 class Texture : public GraphicsObject {
25 public:
26 Texture();
27 virtual void create() override;
28 virtual void release() override;
29
30 virtual void bind();
31 virtual void bind(int slot);
32 virtual void unbind();
33
34 // OpenGL 4.4+, clear texture
35 virtual void clear(void* value);
36
37 public:
38 unsigned int target = 0xFFFFFFFF;
39
40 unsigned int internalFormat;
41 unsigned int format;
42 unsigned int type;
43
44 };
45
46 class Texture2D : public Texture
47 {
49 public:
50 Texture2D();
51
52 virtual void create() override;
53
54 virtual void load(int w, int h, void* data);
55 virtual void dump(void* pixels);
56
57 virtual void resize(int w, int h);
58 void genMipmap();
59
60 public:
61 unsigned int minFilter;
62 unsigned int maxFilter;
63 };
64
66 {
68 public:
70 virtual void resize(int w, int h, unsigned int nSamples);
71
72 public:
73 unsigned int samples;
74 };
75
76 class TextureCube : public Texture
77 {
79 public:
81 };
82
83}
84
#define GL_OBJECT(T)
GraphicsObject()=default
virtual void create() override
Definition Texture.cpp:63
virtual void resize(int w, int h)
Definition Texture.cpp:81
virtual void dump(void *pixels)
Definition Texture.cpp:73
void genMipmap()
Definition Texture.cpp:97
unsigned int maxFilter
Definition Texture.h:62
unsigned int minFilter
Definition Texture.h:61
virtual void load(int w, int h, void *data)
Definition Texture.cpp:89
virtual void resize(int w, int h, unsigned int nSamples)
Definition Texture.cpp:109
virtual void create() override
Definition Texture.cpp:15
unsigned int internalFormat
Definition Texture.h:40
unsigned int target
Definition Texture.h:38
virtual void release() override
Definition Texture.cpp:25
virtual void clear(void *value)
Definition Texture.cpp:50
unsigned int format
Definition Texture.h:41
virtual void bind()
Definition Texture.cpp:32
unsigned int type
Definition Texture.h:42
virtual void unbind()
Definition Texture.cpp:44
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25