- Major tidying - Moved 'RendererProgram' classes out of the 'Renderer' class - Moved 'RenderCommand' member variable out of 'GraphicsContext' and into the 'Renderer' class as a unique_ptr. results in 'Renderer' taking a windowHandle for construction - Defined new macros for max quads in 'Renderer.h' - Added the 'Stringifier' to 'Base.h' - Added the 'ResourceManager' to the 'LightEngine.h' - Application now logs the current file directory - Fixed the forward declaration in GraphicsContext - Fixed the debug break in Base.h - Fixed 'dxShader' not logging compile errors - 'glVertexLayout' now takes in a shared_ptr for 'VertexBuffer' - 'glShader' now logs the shader compilation errors properly - 'dxVertexLayout' now takes in a shared_ptr for 'Shader" - Modified 'dxSharedContext' members to be private and made getters for them - 'dxRenderCommand::SwapBuffers' now throws dxException for DXGI_ERROR_DEVICE_REMOD error
32 lines
No EOL
649 B
C++
32 lines
No EOL
649 B
C++
#pragma once
|
|
|
|
#include "Base.h"
|
|
#include "Graphics/VertexLayout.h"
|
|
|
|
#include <d3d11.h>
|
|
#include <wrl.h>
|
|
|
|
namespace Light {
|
|
|
|
class Shader;
|
|
class dxSharedContext;
|
|
|
|
class dxVertexLayout : public VertexLayout
|
|
{
|
|
private:
|
|
std::shared_ptr<dxSharedContext> m_Context;
|
|
|
|
Microsoft::WRL::ComPtr<ID3D11InputLayout> m_InputLayout;
|
|
|
|
public:
|
|
dxVertexLayout(std::shared_ptr<Shader> shader, const std::vector<std::pair<std::string, VertexElementType>>& elements, std::shared_ptr<dxSharedContext> sharedContext);
|
|
~dxVertexLayout();
|
|
|
|
void Bind() override;
|
|
void UnBind() override;
|
|
|
|
private:
|
|
DXGI_FORMAT GetDxgiFormat(VertexElementType type);
|
|
};
|
|
|
|
} |