lighting v0.0

This commit is contained in:
ayachi3 2022-12-14 20:14:16 +08:00
parent 608b0fb71a
commit 294cf7efb3
6 changed files with 13 additions and 1 deletions

View File

@ -105,6 +105,7 @@
<ItemGroup> <ItemGroup>
<ClCompile Include="camera.cpp" /> <ClCompile Include="camera.cpp" />
<ClCompile Include="ebo.cpp" /> <ClCompile Include="ebo.cpp" />
<ClCompile Include="lightCaster.cpp" />
<ClCompile Include="logger.cpp" /> <ClCompile Include="logger.cpp" />
<ClCompile Include="mesh.cpp" /> <ClCompile Include="mesh.cpp" />
<ClCompile Include="model.cpp" /> <ClCompile Include="model.cpp" />
@ -129,6 +130,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="camera.h" /> <ClInclude Include="camera.h" />
<ClInclude Include="lightCaster.h" />
<ClInclude Include="logger.h" /> <ClInclude Include="logger.h" />
<ClInclude Include="mesh.h" /> <ClInclude Include="mesh.h" />
<ClInclude Include="model.h" /> <ClInclude Include="model.h" />

View File

@ -100,6 +100,9 @@
<ClCompile Include="logger.cpp"> <ClCompile Include="logger.cpp">
<Filter>Source Files\Utils</Filter> <Filter>Source Files\Utils</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="lightCaster.cpp">
<Filter>Source Files\OpenGL Abstractions</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="camera.h"> <ClInclude Include="camera.h">
@ -150,6 +153,9 @@
<ClInclude Include="skybox.h"> <ClInclude Include="skybox.h">
<Filter>Header Files\OpenGL Abstractions</Filter> <Filter>Header Files\OpenGL Abstractions</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="lightCaster.h">
<Filter>Header Files\OpenGL Abstractions</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<QtMoc Include="sceneviewer.h"> <QtMoc Include="sceneviewer.h">

View File

View File

@ -0,0 +1 @@
#pragma once

View File

@ -65,7 +65,7 @@ void SceneViewer::initializeGL() {
vertexShader.dispose(); vertexShader.dispose();
fragmentShader.dispose(); fragmentShader.dispose();
Model* backpackModel = new Model("D:\\ProgrammingFile\\SceneEditor\\Models\\backpack\\backpack.obj"); Model* backpackModel = new Model("D:\\code\\ComputerGraphic\\nanosuit\\nanosuit.obj");
Logger::info("Model loaded"); Logger::info("Model loaded");
Renderable backpack(backpackModel); Renderable backpack(backpackModel);
_objects.push_back(backpack); _objects.push_back(backpack);

View File

@ -12,6 +12,7 @@
#include "renderable.h" #include "renderable.h"
#include "vao.h" #include "vao.h"
#include "utils.h" #include "utils.h"
#include "lightCaster.h"
class SceneViewer : public QOpenGLWidget, protected QOpenGLFunctions class SceneViewer : public QOpenGLWidget, protected QOpenGLFunctions
{ {
@ -21,6 +22,8 @@ private:
// OpenGL section------------------------------------- // OpenGL section-------------------------------------
// List of objects currently in the scene // List of objects currently in the scene
std::vector<Renderable> _objects; std::vector<Renderable> _objects;
// List of light casters in the scene
std::vector<LightCaster> _casters;
// Shader program for objects // Shader program for objects
ShaderProgram _shaderProgram = ShaderProgram::empty(); ShaderProgram _shaderProgram = ShaderProgram::empty();
// Main camera // Main camera