#pragma once

#include <GraphicsApi.h>
#

class CustomDX11API : public Framework::DirectX11
{
private:
    int vertexShaderLightBufferIndex;

protected:
    ID3D11RasterizerState* noCull;
    Framework::DX11VertexShader* initializeVertexShader(
        unsigned char* byteCode, int size) override;
    Framework::DX11PixelShader* initializePixelShader(
        unsigned char* byteCode, int size) override;

public:
    CustomDX11API();

    void setVertexLightBuffer(Framework::DXBuffer* zBuffer);

    int getVertexShaderLightBufferIndex() const;
    void setCullBack(bool cull);
};