Merge branch 'main' into Axel-G-Shader-Manager

This commit is contained in:
GolfOcean334
2024-04-09 00:10:37 +02:00
83 changed files with 73132 additions and 200 deletions

View File

@@ -7,9 +7,12 @@
///////////////////////
#include "d3dclass.h"
#include "cameraclass.h"
#include "modelclass.h"
#include "object.h"
#include "lightshaderclass.h"
#include "lightclass.h"
#include <vector>
#include <filesystem>
#include "lightmapshaderclass.h"
#include "bitmapclass.h"
#include "spriteclass.h"
@@ -26,6 +29,7 @@
#include "frustumclass.h"
#include "rendertextureclass.h"
#include "displayplaneclass.h"
#include "reflectionshaderclass.h"
/////////////
@@ -46,11 +50,30 @@ public:
ApplicationClass();
ApplicationClass(const ApplicationClass&);
~ApplicationClass();
D3DClass* GetDirect3D();
bool Initialize(int, int, HWND);
void Shutdown();
bool Frame(InputClass*);
int GetScreenWidth() const;
int GetScreenHeight() const;
float GetSpeed() const { return speed; };
void SetSpeed(float speed) { this->speed = speed; };
void AddCube();
void DeleteKobject(int index);
int GetCubeCount() const { return m_cubes.size(); };
int GetTerrainCubeCount() const { return m_terrainChunk.size(); };
std::vector<Object*> GetCubes() const { return m_cubes; };
std::vector<Object*> GetTerrainCubes() const { return m_terrainChunk; };
std::vector<Object*> GetKobjects() const { return m_object; };
void AddKobject(WCHAR* filepath);
void GenerateTerrain();
void DeleteTerrain();
private:
bool Render(float, float, float, float, float);
bool UpdateMouseStrings(int, int, bool);
@@ -58,34 +81,79 @@ private:
bool UpdateRenderCountString(int);
bool RenderSceneToTexture(float);
private:
private :
// ------------------------------------- //
// ------------- DIRECT3D -------------- //
// ------------------------------------- //
D3DClass* m_Direct3D;
CameraClass* m_Camera;
LightShaderClass* m_LightShader;
LightClass* m_Light;
LightClass* m_Lights;
int m_numLights;
ModelClass* m_Model;
TextureShaderClass* m_TextureShader;
BitmapClass* m_Bitmap;
SpriteClass* m_Sprite;
TimerClass* m_Timer;
TextClass* m_MouseStrings;
FontShaderClass* m_FontShader;
TextClass* m_RenderCountString;
FontClass* m_Font;
TextClass *m_TextString1, *m_TextString2, *m_TextString3;
FpsClass* m_Fps;
TextClass* m_FpsString;
int m_previousFps;
ShaderManagerClass* m_ShaderManager;
IDXGISwapChain* m_swapChain;
ModelClass* m_Model;
ModelListClass* m_ModelList;
PositionClass* m_Position;
FrustumClass* m_Frustum;
// ------------------------------------- //
// ------------- RENDERING ------------- //
// ------------------------------------- //
XMMATRIX m_baseViewMatrix;
RenderTextureClass* m_RenderTexture;
DisplayPlaneClass* m_DisplayPlane;
float m_screenWidth, m_screenHeight;
CameraClass* m_Camera;
PositionClass* m_Position;
FrustumClass* m_Frustum;
// ------------------------------------ //
// ------------- OBJECTS -------------- //
// ------------------------------------ //
Object* m_SelectedObject;
std::vector<Object*> m_cubes;
std::vector<Object*> m_terrainChunk;
float speed = 0.1f; // speed for the demo spinning object
std::vector<Object*> m_object;
// ----------------------------------- //
// ------------- LIGHTS -------------- //
// ----------------------------------- //
LightClass* m_Light;
LightClass* m_Lights;
int m_numLights;
// ----------------------------------- //
// ------------- SHADERS ------------- //
// ----------------------------------- //
LightShaderClass* m_LightShader;
LightMapShaderClass* m_LightMapShader;
MultiTextureShaderClass* m_MultiTextureShader;
AlphaMapShaderClass* m_AlphaMapShader;
TextureShaderClass* m_TextureShader;
FontShaderClass* m_FontShader;
NormalMapShaderClass* m_NormalMapShader;
SpecMapShaderClass* m_SpecMapShader;
TranslateShaderClass* m_TranslateShader;
ReflectionShaderClass* m_ReflectionShader;
BitmapClass* m_Bitmap;
SpriteClass* m_Sprite;
// ------------------------------------------------- //
// ------------- FPS AND INFO ON SCREEN ------------ //
// ------------------------------------------------- //
TimerClass* m_Timer;
TextClass* m_MouseStrings;
TextClass* m_RenderCountString;
FontClass* m_Font;
TextClass* m_TextString1, * m_TextString2, * m_TextString3;
FpsClass* m_Fps;
TextClass* m_FpsString;
int m_previousFps;
};
#endif
#endif