61 lines
		
	
	
	
		
			921 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			921 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| 
 | |
| #include <renderer/buffers.hpp>
 | |
| 
 | |
| namespace lt {
 | |
| 
 | |
| class glConstantBuffer: public ConstantBuffer
 | |
| {
 | |
| public:
 | |
| 	glConstantBuffer(ConstantBufferIndex index, unsigned int size);
 | |
| 
 | |
| 	~glConstantBuffer() override;
 | |
| 
 | |
| 	void bind() override;
 | |
| 
 | |
| 	auto map() -> void * override;
 | |
| 
 | |
| 	void un_map() override;
 | |
| 
 | |
| private:
 | |
| 	unsigned int m_buffer_id;
 | |
| 
 | |
| 	unsigned int m_index;
 | |
| };
 | |
| 
 | |
| class glVertexBuffer: public VertexBuffer
 | |
| {
 | |
| public:
 | |
| 	glVertexBuffer(float *vertices, unsigned int stride, unsigned int count);
 | |
| 
 | |
| 	~glVertexBuffer() override;
 | |
| 
 | |
| 	void bind() override;
 | |
| 
 | |
| 	void un_bind() override;
 | |
| 
 | |
| 	auto map() -> void * override;
 | |
| 
 | |
| 	void un_map() override;
 | |
| 
 | |
| private:
 | |
| 	unsigned int m_buffer_id;
 | |
| };
 | |
| 
 | |
| class glIndexBuffer: public IndexBuffer
 | |
| {
 | |
| public:
 | |
| 	glIndexBuffer(unsigned int *indices, unsigned int count);
 | |
| 
 | |
| 	~glIndexBuffer() override;
 | |
| 
 | |
| 	void bind() override;
 | |
| 
 | |
| 	void un_bind() override;
 | |
| 
 | |
| private:
 | |
| 	unsigned int m_buffer_id;
 | |
| };
 | |
| 
 | |
| } // namespace lt
 |