Program Listing for File renderer.h¶
↰ Return to documentation for file (rootex/core/renderer/renderer.h
)
#pragma once
#include "vertex_buffer.h"
#include "index_buffer.h"
#include "core/resource_files/material_resource_file.h"
#include "rendering_device.h"
#include "shader.h"
#include "viewport.h"
class Renderer
{
const Shader* m_CurrentShader;
public:
Renderer();
Renderer(const Renderer&) = delete;
Renderer& operator=(const Renderer&) = delete;
virtual ~Renderer() = default;
void setViewport(Viewport& viewport);
void resetCurrentShader();
void bind(MaterialResourceFile* newMaterial, MaterialResourceFile* oldMaterial);
void bind(MaterialResourceFile* Material);
void draw(const VertexBuffer* vertexBuffer, const IndexBuffer* indexBuffer) const;
void drawInstanced(const VertexBuffer* vertexBuffer, const IndexBuffer* indexBuffer, const VertexBuffer* instanceBuffer, unsigned int instances) const;
};