TRX/lib/ddraw/Renderer.hpp

44 lines
989 B
C++
Raw Normal View History

2021-11-12 20:03:04 +01:00
#pragma once
2021-11-14 23:42:18 +01:00
// #include <atlimage.h>
2021-11-12 20:03:04 +01:00
#include "ddraw.hpp"
#include <glrage/GLRage.hpp>
#include <glrage_gl/Buffer.hpp>
#include <glrage_gl/Program.hpp>
#include <glrage_gl/Sampler.hpp>
#include <glrage_gl/Texture.hpp>
#include <glrage_gl/VertexArray.hpp>
#include <cstdint>
#include <vector>
namespace glrage {
namespace ddraw {
class Renderer
{
public:
Renderer();
void upload(DDSURFACEDESC& desc, std::vector<uint8_t>& data);
void render();
private:
static const GLenum TEX_INTERNAL_FORMAT = GL_RGBA;
static const GLenum TEX_FORMAT = GL_BGRA;
static const GLenum TEX_TYPE = GL_UNSIGNED_SHORT_1_5_5_5_REV;
Context& m_context{GLRage::getContext()};
uint32_t m_width = 0;
uint32_t m_height = 0;
gl::VertexArray m_surfaceFormat;
gl::Buffer m_surfaceBuffer;
gl::Texture m_surfaceTexture = GL_TEXTURE_2D;
gl::Sampler m_sampler;
gl::Program m_program;
2021-11-14 23:42:18 +01:00
// CImage m_overrideImage;
2021-11-12 20:03:04 +01:00
};
} // namespace ddraw
2021-11-14 23:42:18 +01:00
} // namespace glrage