mirror of
https://github.com/Linloir/SceneEditor.git
synced 2026-02-04 12:23:34 +08:00
Fix compile time errors
This commit is contained in:
parent
7ce0a4e27d
commit
b5e5b4cfa9
@ -3,6 +3,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
#include "logger.h"
|
||||||
|
|
||||||
class ElementBufferObject
|
class ElementBufferObject
|
||||||
{
|
{
|
||||||
|
|||||||
@ -13,7 +13,7 @@ private:
|
|||||||
std::vector<unsigned int> _indices;
|
std::vector<unsigned int> _indices;
|
||||||
std::vector<Texture> _textures;
|
std::vector<Texture> _textures;
|
||||||
|
|
||||||
VertexArrayObject _vao;
|
VertexArrayObject _vao = VertexArrayObject::empty();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Mesh(const std::vector<Vertex>& vertices, const std::vector<unsigned int>& indices, const std::vector<Texture>& textures);
|
Mesh(const std::vector<Vertex>& vertices, const std::vector<unsigned int>& indices, const std::vector<Texture>& textures);
|
||||||
|
|||||||
@ -47,13 +47,28 @@ void SceneViewer::initializeGL() {
|
|||||||
_vao.ensureInitialized();
|
_vao.ensureInitialized();
|
||||||
Logger::info("Vertex Array Object initialized");
|
Logger::info("Vertex Array Object initialized");
|
||||||
|
|
||||||
|
vector<Vertex> vertices = {
|
||||||
|
{ { -0.5f, -0.5f, 0.0f } },
|
||||||
|
{ { 0.5f, -0.5f, 0.0f } },
|
||||||
|
{ { 0.0f, 0.5f, 0.0f } }
|
||||||
|
};
|
||||||
|
VertexBufferObject vbo(vertices);
|
||||||
|
Logger::info("Vertex Buffer Object initialized");
|
||||||
|
|
||||||
|
_vao.bindVertexBufferObject(vbo);
|
||||||
|
_vao.setVertexAttributePointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), 0);
|
||||||
|
_vao.enableVertexAttribute(0);
|
||||||
|
Logger::info("Vertex Buffer Object bound to Vertex Array Object");
|
||||||
|
|
||||||
_shaderProgram.ensureInitialized();
|
_shaderProgram.ensureInitialized();
|
||||||
Logger::info("Shader Program initialized");
|
Logger::info("Shader Program initialized");
|
||||||
|
|
||||||
VertexShader vertexShader("./temp/shaders/vertexshader.vs");
|
VertexShader vertexShader("./temp/shaders/vertexshader.vs");
|
||||||
FragmentShader fragmentShader("./temp/shaders/fragmentshader.fs");
|
FragmentShader fragmentShader("./temp/shaders/fragmentshader.fs");
|
||||||
_shaderProgram.attachShader(vertexShader);
|
_shaderProgram.attachShader(vertexShader);
|
||||||
|
_shaderProgram.attachShader(fragmentShader);
|
||||||
|
vertexShader.dispose();
|
||||||
|
fragmentShader.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneViewer::resizeGL(int w, int h) {
|
void SceneViewer::resizeGL(int w, int h) {
|
||||||
@ -63,20 +78,7 @@ void SceneViewer::resizeGL(int w, int h) {
|
|||||||
void SceneViewer::paintGL() {
|
void SceneViewer::paintGL() {
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
|
|
||||||
vector<Vertex> vertices = {
|
_vao.bind();
|
||||||
{ { -0.5f, -0.5f, 0.0f } },
|
_shaderProgram.bind();
|
||||||
{ { 0.5f, -0.5f, 0.0f } },
|
|
||||||
{ { 0.0f, 0.5f, 0.0f } }
|
|
||||||
};
|
|
||||||
VertexBufferObject vbo(vertices);
|
|
||||||
VertexArrayObject vao(vbo);
|
|
||||||
vao.setVertexAttributePointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), 0);
|
|
||||||
vao.enableVertexAttribute(0);
|
|
||||||
|
|
||||||
VertexShader vertexShader("./temp/shaders/vertexshader.vs");
|
|
||||||
FragmentShader fragmentShader("./temp/shaders/fragmentshader.fs");
|
|
||||||
ShaderProgram shaderProgram(vertexShader, fragmentShader);
|
|
||||||
shaderProgram.bind();
|
|
||||||
vao.bind();
|
|
||||||
glDrawArrays(GL_TRIANGLES, 0, 3);
|
glDrawArrays(GL_TRIANGLES, 0, 3);
|
||||||
}
|
}
|
||||||
@ -5,6 +5,7 @@
|
|||||||
#include <GLM/glm.hpp>
|
#include <GLM/glm.hpp>
|
||||||
|
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
#include "logger.h"
|
||||||
|
|
||||||
class Shader {
|
class Shader {
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@ -20,7 +20,7 @@ VertexBufferObject::VertexBufferObject(const std::vector<Vertex>& vertices) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void VertexBufferObject::setBuffer(const std::vector<Vertex>& vertices) {
|
void VertexBufferObject::setBuffer(const std::vector<Vertex>& vertices) {
|
||||||
if (id == 0) {
|
if (_id == 0) {
|
||||||
Logger::error("Try to bind buffer to an uninitialized vertex buffer object");
|
Logger::error("Try to bind buffer to an uninitialized vertex buffer object");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
#include "vertex.h"
|
#include "vertex.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
#include "logger.h"
|
||||||
|
|
||||||
class VertexBufferObject {
|
class VertexBufferObject {
|
||||||
public:
|
public:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user