mirror of
https://github.com/Linloir/SceneEditor.git
synced 2025-12-17 15:38:11 +08:00
Hello Triangle Test
This commit is contained in:
parent
f61d270d0c
commit
f0a44afb4a
@ -1,15 +1,22 @@
|
|||||||
#include "sceneviewer.h"
|
#include "sceneviewer.h"
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <qsurface.h>
|
#include <string>
|
||||||
#include <qsurfaceformat.h>
|
|
||||||
|
#include "vbo.h"
|
||||||
|
#include "vao.h"
|
||||||
|
#include "shader.h"
|
||||||
|
#include "logger.h"
|
||||||
|
|
||||||
using std::vector;
|
using std::vector;
|
||||||
|
|
||||||
SceneViewer::SceneViewer(QWidget* parent)
|
SceneViewer::SceneViewer(QWidget* parent)
|
||||||
: QOpenGLWidget(parent)
|
: QOpenGLWidget(parent)
|
||||||
{
|
{
|
||||||
|
QSurfaceFormat format;
|
||||||
|
format.setProfile(QSurfaceFormat::CoreProfile);
|
||||||
|
format.setVersion(4, 3);
|
||||||
|
setFormat(format);
|
||||||
}
|
}
|
||||||
|
|
||||||
SceneViewer::~SceneViewer() {
|
SceneViewer::~SceneViewer() {
|
||||||
@ -21,6 +28,8 @@ void SceneViewer::initializeGL() {
|
|||||||
|
|
||||||
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
|
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
|
|
||||||
|
Logger::info("Currently running on OpenGL version: " + std::string((const char*)glGetString(GL_VERSION)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneViewer::resizeGL(int w, int h) {
|
void SceneViewer::resizeGL(int w, int h) {
|
||||||
@ -30,5 +39,19 @@ 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 = {
|
||||||
|
{ { -0.5f, -0.5f, 0.0f } },
|
||||||
|
{ { 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("E:\\Repositories\\CollegeProjects\\CGAssignments\\FinalProject\\FinalProject\\vertexshader.vs");
|
||||||
|
FragmentShader fragmentShader("E:\\Repositories\\CollegeProjects\\CGAssignments\\FinalProject\\FinalProject\\fragmentshader.fs");
|
||||||
|
ShaderProgram shaderProgram(vertexShader, fragmentShader);
|
||||||
|
shaderProgram.setActive();
|
||||||
|
vao.bind();
|
||||||
|
glDrawArrays(GL_TRIANGLES, 0, 3);
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user