Test for qrc

This commit is contained in:
Linloir 2022-12-13 08:58:03 +08:00
parent 7f7d99caa8
commit 258423ccae
No known key found for this signature in database
GPG Key ID: 58EEB209A0F2C366
2 changed files with 20 additions and 4 deletions

View File

@ -157,10 +157,10 @@
</QtMoc> </QtMoc>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="vertexshader.vs"> <None Include="fragmentshader.fs">
<Filter>Resource Files</Filter> <Filter>Resource Files</Filter>
</None> </None>
<None Include="fragmentshader.fs"> <None Include="vertexshader.vs">
<Filter>Resource Files</Filter> <Filter>Resource Files</Filter>
</None> </None>
</ItemGroup> </ItemGroup>

View File

@ -2,6 +2,9 @@
#include <vector> #include <vector>
#include <string> #include <string>
#include <qresource.h>
#include <qurl.h>
#include <qdir.h>
#include "vbo.h" #include "vbo.h"
#include "vao.h" #include "vao.h"
@ -17,6 +20,18 @@ SceneViewer::SceneViewer(QWidget* parent)
format.setProfile(QSurfaceFormat::CoreProfile); format.setProfile(QSurfaceFormat::CoreProfile);
format.setVersion(4, 3); format.setVersion(4, 3);
setFormat(format); setFormat(format);
// Create a folder
QDir dir("./temp/shaders");
if (!dir.exists()) {
dir.mkpath(".");
}
// Copy the shaders to the folder
QFile::copy(":/shaders/vertexshader.vs", "./temp/shaders/vertexshader.vs");
QFile::copy(":/shaders/fragmentshader.fs", "./temp/shaders/fragmentshader.fs");
} }
SceneViewer::~SceneViewer() { SceneViewer::~SceneViewer() {
@ -48,8 +63,9 @@ void SceneViewer::paintGL() {
VertexArrayObject vao(vbo); VertexArrayObject vao(vbo);
vao.setVertexAttributePointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), 0); vao.setVertexAttributePointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), 0);
vao.enableVertexAttribute(0); vao.enableVertexAttribute(0);
VertexShader vertexShader("E:\\Repositories\\CollegeProjects\\CGAssignments\\FinalProject\\FinalProject\\vertexshader.vs");
FragmentShader fragmentShader("E:\\Repositories\\CollegeProjects\\CGAssignments\\FinalProject\\FinalProject\\fragmentshader.fs"); VertexShader vertexShader("./temp/shaders/vertexshader.vs");
FragmentShader fragmentShader("./temp/shaders/fragmentshader.fs");
ShaderProgram shaderProgram(vertexShader, fragmentShader); ShaderProgram shaderProgram(vertexShader, fragmentShader);
shaderProgram.setActive(); shaderProgram.setActive();
vao.bind(); vao.bind();