core: Fix wchar_t handling in TextRenderer.
[vkmodelviewer.git] / ModelViewer / ForwardPlusLighting.h
bloba480c2c54d9fb63905de366c93ba94577fa19e25
1 //
2 // Copyright (c) Microsoft. All rights reserved.
3 // This code is licensed under the MIT License (MIT).
4 // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
5 // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
6 // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
7 // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
8 //
9 // Developed by Minigraph
11 // Author(s): Alex Nankervis
12 // James Stanard
15 #pragma once
17 //using namespace Graphics;
19 #include <cstdint>
21 class StructuredBuffer;
22 class ByteAddressBuffer;
23 class ColorBuffer;
24 class ShadowBuffer;
25 class GraphicsContext;
26 class IntVar;
27 namespace Math
29 class Vector3;
30 class Matrix4;
31 class Camera;
34 namespace Lighting
36 extern IntVar LightGridDim;
38 enum { MaxLights = 128 };
40 //LightData m_LightData[MaxLights];
41 extern StructuredBuffer m_LightBuffer;
42 extern ByteAddressBuffer m_LightGrid;
44 extern ByteAddressBuffer m_LightGridBitMask;
45 extern std::uint32_t m_FirstConeLight;
46 extern std::uint32_t m_FirstConeShadowedLight;
48 extern ColorBuffer m_LightShadowArray;
49 extern ShadowBuffer m_LightShadowTempBuffer;
50 extern Math::Matrix4 m_LightShadowMatrix[MaxLights];
52 void InitializeResources(void);
53 void CreateRandomLights(const Math::Vector3 minBound, const Math::Vector3 maxBound);
54 void FillLightGrid(GraphicsContext& gfxContext, const Math::Camera& camera);