splitted into 2 projects, see sparrowEditor project
BIN
data/noise.png
Before Width: | Height: | Size: 327 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 12 KiB |
1281
data/sphere.obj
@ -1,15 +0,0 @@
|
||||
#
|
||||
# generated by kHED
|
||||
#
|
||||
newmtl steel
|
||||
d 1.0
|
||||
Ka 1.0 1.0 1.0
|
||||
Ks 0.9 0.9 0.9
|
||||
Kd 0.3 0.3 0.3
|
||||
map_Kd res/textures/steel.jpg
|
||||
newmtl leather
|
||||
d 1.0
|
||||
Ka 1.0 1.0 1.0
|
||||
Ks 0.4 0.4 0.4
|
||||
Kd 0.9 0.9 0.9
|
||||
map_Kd res/textures/leather.jpg
|
2167
data/sword.obj
7
framebuffer.cpp
Normal file
@ -0,0 +1,7 @@
|
||||
#include "framebuffer.h"
|
||||
|
||||
FrameBuffer::FrameBuffer()
|
||||
{
|
||||
|
||||
}
|
||||
|
11
framebuffer.h
Normal file
@ -0,0 +1,11 @@
|
||||
#ifndef FRAMEBUFFER_H
|
||||
#define FRAMEBUFFER_H
|
||||
|
||||
|
||||
class FrameBuffer
|
||||
{
|
||||
public:
|
||||
FrameBuffer();
|
||||
};
|
||||
|
||||
#endif // FRAMEBUFFER_H
|
11
main.cpp
@ -1,11 +0,0 @@
|
||||
#include "mainwindow.h"
|
||||
#include <QApplication>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
MainWindow w;
|
||||
w.show();
|
||||
|
||||
return a.exec();
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
#include "mainwindow.h"
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QAction>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QButtonGroup>
|
||||
#include <QtWidgets/QHBoxLayout>
|
||||
#include <QtWidgets/QHeaderView>
|
||||
#include <QtWidgets/QMainWindow>
|
||||
#include <QtWidgets/QMenu>
|
||||
#include <QtWidgets/QMenuBar>
|
||||
#include <QtWidgets/QVBoxLayout>
|
||||
#include <QtWidgets/QWidget>
|
||||
#include "modulewidget.h"
|
||||
#include "resourcewidget.h"
|
||||
#include "myglwidget.h"
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
|
||||
{
|
||||
setWindowTitle("SparrowRenderer");
|
||||
resize(800, 600);
|
||||
|
||||
// modules widget
|
||||
moduleWidget = new ModuleWidget(this);
|
||||
addDockWidget(Qt::LeftDockWidgetArea, moduleWidget);
|
||||
|
||||
// resources widget
|
||||
resourceWidget = new ResourceWidget(this);
|
||||
addDockWidget(Qt::RightDockWidgetArea, resourceWidget);
|
||||
|
||||
// opengl widget
|
||||
openGLWidget = new OpenGLWidget(this);
|
||||
openGLWidget->setRenderer(moduleWidget);
|
||||
setCentralWidget(openGLWidget);
|
||||
|
||||
// actions
|
||||
actionExit = new QAction(this);
|
||||
actionExit->setText("Exit");
|
||||
|
||||
actionShowModuleWidget = new QAction(this);
|
||||
actionShowModuleWidget->setText("Modules");
|
||||
actionShowModuleWidget->setEnabled(false);
|
||||
|
||||
// menubar
|
||||
menuBar = new QMenuBar(this);
|
||||
menuBar->setGeometry(QRect(0, 0, 800, 22));
|
||||
menuMenu = new QMenu(menuBar);
|
||||
menuMenu->setTitle("Main menu");
|
||||
menuMenu->addAction(actionShowModuleWidget);
|
||||
menuMenu->addAction(actionExit);
|
||||
menuBar->addAction(menuMenu->menuAction());
|
||||
menuBar->setNativeMenuBar(false);
|
||||
setMenuBar(menuBar);
|
||||
|
||||
// connect signals to slots
|
||||
QObject::connect(actionExit, SIGNAL(triggered()), this, SLOT(close()));
|
||||
QObject::connect(moduleWidget, SIGNAL(visibilityChanged(bool)), actionShowModuleWidget, SLOT(setDisabled(bool)));
|
||||
QObject::connect(actionShowModuleWidget, SIGNAL(triggered()), this, SLOT(reopenModuleWidget()));
|
||||
QObject::connect(openGLWidget, SIGNAL(modulesChanged()), moduleWidget, SLOT(updateList()));
|
||||
QObject::connect(openGLWidget, SIGNAL(modulesChanged()), resourceWidget, SLOT(updateList()));
|
||||
|
||||
QMetaObject::connectSlotsByName(this);
|
||||
}
|
||||
|
||||
void MainWindow::reopenModuleWidget()
|
||||
{
|
||||
emit(moduleWidget->setVisible(true));
|
||||
}
|
34
mainwindow.h
@ -1,34 +0,0 @@
|
||||
#ifndef MAINWINDOW_H
|
||||
#define MAINWINDOW_H
|
||||
|
||||
#include <QMainWindow>
|
||||
|
||||
class OpenGLWidget;
|
||||
class ModuleWidget;
|
||||
class ResourceWidget;
|
||||
|
||||
namespace Ui {
|
||||
class MainWindow;
|
||||
}
|
||||
|
||||
class MainWindow : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit MainWindow(QWidget *parent = 0);
|
||||
|
||||
private:
|
||||
QAction *actionExit;
|
||||
QAction *actionShowModuleWidget;
|
||||
QMenuBar *menuBar;
|
||||
QMenu *menuMenu;
|
||||
OpenGLWidget *openGLWidget;
|
||||
ModuleWidget *moduleWidget;
|
||||
ResourceWidget *resourceWidget;
|
||||
|
||||
private slots:
|
||||
void reopenModuleWidget();
|
||||
};
|
||||
|
||||
#endif // MAINWINDOW_H
|
@ -1,33 +0,0 @@
|
||||
#include "modulewidget.h"
|
||||
#include "ui_modulewidget.h"
|
||||
|
||||
ModuleWidget::ModuleWidget(QWidget *parent) :
|
||||
QDockWidget(parent),
|
||||
ui(new Ui::ModuleWidget)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
||||
|
||||
ModuleWidget::~ModuleWidget()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void ModuleWidget::updateList()
|
||||
{
|
||||
QListWidget* list = ui->listWidget;
|
||||
list->clear();
|
||||
for(ModuleNode& m : modules)
|
||||
list->addItem(new QListWidgetItem(QString(m.name.c_str())));
|
||||
}
|
||||
|
||||
/*void ModuleWidget::moduleSetEnabled(QTreeWidgetItem* item, int button)
|
||||
{
|
||||
SparrowRenderer* renderer = ui->openGLWidget->getRenderer();
|
||||
std::string name = item->text(0).toStdString();
|
||||
if(renderer->isModuleEnabled(name))
|
||||
renderer->disableModule(name);
|
||||
else
|
||||
renderer->enableModule(name);
|
||||
ui->openGLWidget->updateGL();
|
||||
}*/
|
@ -1,26 +0,0 @@
|
||||
#ifndef MODULEWIDGET_H
|
||||
#define MODULEWIDGET_H
|
||||
|
||||
#include <QDockWidget>
|
||||
#include "sparrowrenderer.h"
|
||||
|
||||
namespace Ui {
|
||||
class ModuleWidget;
|
||||
}
|
||||
|
||||
class ModuleWidget : public QDockWidget, public SparrowRenderer
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ModuleWidget(QWidget *parent = 0);
|
||||
~ModuleWidget();
|
||||
|
||||
private:
|
||||
Ui::ModuleWidget *ui;
|
||||
|
||||
public slots:
|
||||
void updateList();
|
||||
};
|
||||
|
||||
#endif // MODULEWIDGET_H
|
@ -1,63 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>ModuleWidget</class>
|
||||
<widget class="QDockWidget" name="ModuleWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>141</width>
|
||||
<height>392</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="allowedAreas">
|
||||
<set>Qt::LeftDockWidgetArea</set>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Modules</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="dockWidgetContents">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QListWidget" name="listWidget"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget" native="true">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>157</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
150
myglwidget.cpp
@ -1,150 +0,0 @@
|
||||
#include <glew/glew.h>
|
||||
#include "myglwidget.h"
|
||||
#include "glassert.h"
|
||||
#include "camera.h"
|
||||
#include "sphere.h"
|
||||
#include "phongmaterial.h"
|
||||
#include "skyboxmodule.h"
|
||||
#include "entity.h"
|
||||
#include "phongmodule.h"
|
||||
#include "resourcebase.h"
|
||||
#include "utils.h"
|
||||
#include "lights.h"
|
||||
#include "texture.h"
|
||||
#include "gridmesh.h"
|
||||
#include "sparrowrenderer.h"
|
||||
#include "focuscontroller.h"
|
||||
#include <iostream>
|
||||
#include <glm/glm.hpp>
|
||||
#include <glm/ext.hpp>
|
||||
#include <QKeyEvent>
|
||||
#include <QMouseEvent>
|
||||
|
||||
OpenGLWidget::OpenGLWidget(QWidget *parent) :
|
||||
QGLWidget(parent),
|
||||
renderer(NULL),
|
||||
controller(NULL)
|
||||
{}
|
||||
|
||||
OpenGLWidget::~OpenGLWidget()
|
||||
{
|
||||
renderer->destroyGL();
|
||||
if(controller != NULL)
|
||||
delete(controller);
|
||||
}
|
||||
|
||||
void OpenGLWidget::setRenderer(SparrowRenderer* myRenderer)
|
||||
{
|
||||
renderer = myRenderer;
|
||||
}
|
||||
|
||||
void OpenGLWidget::loadResources()
|
||||
{
|
||||
std::string filenames[6] = {
|
||||
"../data/skybox_ft", "../data/skybox_bk",
|
||||
"../data/skybox_up", "../data/skybox_dn",
|
||||
"../data/skybox_lf", "../data/skybox_rt"
|
||||
};
|
||||
ResourceBase::setTexture("skybox", new Texture(filenames));
|
||||
ResourceBase::setTexture("textureNoise", new Texture("../data/noise.png"));
|
||||
ResourceBase::setTexture("perlinNoise", new Texture());
|
||||
|
||||
ResourceBase::setMesh("grid", new GridMesh(10, 10, true));
|
||||
ResourceBase::setMesh("sword", Utils::loadOBJ("../data/sword.obj"));
|
||||
ResourceBase::setMesh("sphere", new Sphere(4));
|
||||
|
||||
std::string vertSource = Utils::fileToString("../phong.vert");
|
||||
std::string fragSource = Utils::fileToString("../phong.frag");
|
||||
ResourceBase::setShader("phong", new Shader(vertSource, fragSource));
|
||||
}
|
||||
|
||||
void OpenGLWidget::buildScene()
|
||||
{
|
||||
// camera positionning
|
||||
Camera* cam = renderer->getCamera();
|
||||
cam->moveTo(glm::vec3(0, 0, 3));
|
||||
cam->lookAt(glm::vec2(0, 0));
|
||||
|
||||
// create skybox module
|
||||
SkyboxModule* skybox = new SkyboxModule(ResourceBase::getTexture("skybox"));
|
||||
renderer->addModule(skybox, "skybox");
|
||||
|
||||
// create phong module
|
||||
Lights* directionnalLights = new Lights();
|
||||
Lights* pointLights = new Lights();
|
||||
directionnalLights->addLight(glm::vec3(6, 4, -4), glm::vec3(0.7f, 0.6f, 0.4f)); // sun
|
||||
|
||||
PhongModule* myPhongModule = new PhongModule(directionnalLights, pointLights, ResourceBase::getShader("phong"));
|
||||
renderer->addModule(myPhongModule, "phong");
|
||||
|
||||
// create a material
|
||||
PhongMaterial* mat = new PhongMaterial(glm::vec3(1), glm::vec3(1), 20.0f);
|
||||
mat->setTexture(ResourceBase::getTexture("textureNoise"));
|
||||
ResourceBase::setMaterial("basicMat", mat);
|
||||
|
||||
// create an entity
|
||||
Mesh* myMesh = ResourceBase::getMesh("sphere");
|
||||
myMesh->initGL();
|
||||
Entity* myEntity = new Entity(myMesh, ResourceBase::getMaterial("basicMat"));
|
||||
glm::mat4* transform = myEntity->getTransform();
|
||||
*transform = glm::rotate(*transform, 3.14f, glm::vec3(0, 1, 0));
|
||||
myPhongModule->addEntity(myEntity);
|
||||
|
||||
emit modulesChanged();
|
||||
}
|
||||
|
||||
void OpenGLWidget::initializeGL()
|
||||
{
|
||||
renderer->initGL(width(), height());
|
||||
loadResources();
|
||||
buildScene();
|
||||
controller = new FocusController(new glm::vec3(0));
|
||||
controller->setCamera(renderer->getCamera());
|
||||
}
|
||||
|
||||
void OpenGLWidget::resizeGL(int width, int height)
|
||||
{
|
||||
renderer->resize(width, height);
|
||||
updateGL();
|
||||
}
|
||||
|
||||
void OpenGLWidget::paintGL()
|
||||
{
|
||||
renderer->render();
|
||||
}
|
||||
|
||||
void OpenGLWidget::mouseMoveEvent(QMouseEvent *e)
|
||||
{
|
||||
controller->mouseMove(e->pos().x() - last.x(), e->pos().y() - last.y());
|
||||
last = e->pos();
|
||||
updateGL();
|
||||
}
|
||||
|
||||
void OpenGLWidget::mousePressEvent(QMouseEvent* e)
|
||||
{
|
||||
controller->mouseEvent(e->button(), true);
|
||||
last = e->pos();
|
||||
updateGL();
|
||||
}
|
||||
void OpenGLWidget::mouseReleaseEvent(QMouseEvent* e)
|
||||
{
|
||||
controller->mouseEvent(e->button(), false);
|
||||
updateGL();
|
||||
}
|
||||
|
||||
void OpenGLWidget::wheelEvent(QWheelEvent *e)
|
||||
{
|
||||
controller->mouseWheelEvent(e->delta());
|
||||
updateGL();
|
||||
}
|
||||
|
||||
void OpenGLWidget::keyPressEvent(QKeyEvent *e)
|
||||
{
|
||||
controller->mouseEvent(e->key(), true);
|
||||
updateGL();
|
||||
}
|
||||
void OpenGLWidget::keyReleaseEvent(QKeyEvent *e)
|
||||
{
|
||||
controller->mouseEvent(e->key(), false);
|
||||
updateGL();
|
||||
}
|
46
myglwidget.h
@ -1,46 +0,0 @@
|
||||
#ifndef MYGLWIDGET_H
|
||||
#define MYGLWIDGET_H
|
||||
|
||||
#include <QGLWidget>
|
||||
|
||||
class SparrowRenderer;
|
||||
class SceneController;
|
||||
|
||||
namespace Ui {
|
||||
class MyGLWidget;
|
||||
}
|
||||
|
||||
class OpenGLWidget : public QGLWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
SparrowRenderer* renderer;
|
||||
SceneController* controller;
|
||||
QPoint last;
|
||||
|
||||
public:
|
||||
explicit OpenGLWidget(QWidget *parent = 0);
|
||||
~OpenGLWidget();
|
||||
void setRenderer(SparrowRenderer* myRenderer);
|
||||
|
||||
protected:
|
||||
void initializeGL();
|
||||
void loadResources();
|
||||
void buildScene();
|
||||
void resizeGL(int width, int height);
|
||||
void paintGL();
|
||||
|
||||
private:
|
||||
// handle events
|
||||
void mouseMoveEvent(QMouseEvent *e);
|
||||
void mousePressEvent(QMouseEvent* e);
|
||||
void mouseReleaseEvent(QMouseEvent* e);
|
||||
void wheelEvent(QWheelEvent *e);
|
||||
void keyPressEvent(QKeyEvent *e);
|
||||
void keyReleaseEvent(QKeyEvent *e);
|
||||
|
||||
signals:
|
||||
void modulesChanged();
|
||||
};
|
||||
|
||||
#endif // MYGLWIDGET_H
|
@ -1,76 +0,0 @@
|
||||
#include "resourcewidget.h"
|
||||
#include "ui_resourcewidget.h"
|
||||
#include <iostream>
|
||||
|
||||
ResourceWidget::ResourceWidget(QWidget *parent) :
|
||||
QDockWidget(parent),
|
||||
ui(new Ui::ResourceWidget)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->treeWidget->resresizeColumnToContents(0);
|
||||
ui->treeWidget->header()->setStretchLastSection(false);
|
||||
}
|
||||
|
||||
ResourceWidget::~ResourceWidget()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void ResourceWidget::updateList()
|
||||
{
|
||||
QTreeWidget* tree = ui->treeWidget;
|
||||
for(QTreeWidgetItemIterator it(tree); *it; ++it)
|
||||
{
|
||||
QTreeWidgetItem* item = *it;
|
||||
if(item->parent())
|
||||
continue;
|
||||
item->setBackgroundColor(0, QColor(180, 220, 255));
|
||||
item->setExpanded(true);
|
||||
QString text = item->text(0);
|
||||
if (text == "Textures")
|
||||
{
|
||||
for(std::string &name : textures.names)
|
||||
{
|
||||
QTreeWidgetItem* myItem = new QTreeWidgetItem(item);
|
||||
myItem->setText(0, QString(name.c_str()));
|
||||
tree->addTopLevelItem(myItem);
|
||||
}
|
||||
}
|
||||
else if(text == "Meshes")
|
||||
{
|
||||
for(std::string &name : meshes.names)
|
||||
{
|
||||
QTreeWidgetItem* myItem = new QTreeWidgetItem(item);
|
||||
myItem->setText(0, QString(name.c_str()));
|
||||
tree->addTopLevelItem(myItem);
|
||||
}
|
||||
}
|
||||
else if(text == "Materials")
|
||||
{
|
||||
for(std::string &name : materials.names)
|
||||
{
|
||||
QTreeWidgetItem* myItem = new QTreeWidgetItem(item);
|
||||
myItem->setText(0, QString(name.c_str()));
|
||||
tree->addTopLevelItem(myItem);
|
||||
}
|
||||
}
|
||||
else if(text == "Shaders")
|
||||
{
|
||||
for(std::string &name : shaders.names)
|
||||
{
|
||||
QTreeWidgetItem* myItem = new QTreeWidgetItem(item);
|
||||
myItem->setText(0, QString(name.c_str()));
|
||||
tree->addTopLevelItem(myItem);
|
||||
}
|
||||
}
|
||||
else if(text == "Entities")
|
||||
{
|
||||
for(std::string &name : entities.names)
|
||||
{
|
||||
QTreeWidgetItem* myItem = new QTreeWidgetItem(item);
|
||||
myItem->setText(0, QString(name.c_str()));
|
||||
tree->addTopLevelItem(myItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
#ifndef RESOURCEWIDGET_H
|
||||
#define RESOURCEWIDGET_H
|
||||
|
||||
#include <QDockWidget>
|
||||
#include "resourcebase.h"
|
||||
|
||||
namespace Ui {
|
||||
class ResourceWidget;
|
||||
}
|
||||
|
||||
class ResourceWidget : public QDockWidget, public ResourceBase
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ResourceWidget(QWidget *parent = 0);
|
||||
~ResourceWidget();
|
||||
|
||||
private:
|
||||
Ui::ResourceWidget *ui;
|
||||
|
||||
public slots:
|
||||
void updateList();
|
||||
};
|
||||
|
||||
#endif // RESOURCEWIDGET_H
|
@ -1,93 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>ResourceWidget</class>
|
||||
<widget class="QDockWidget" name="ResourceWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>171</width>
|
||||
<height>411</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="allowedAreas">
|
||||
<set>Qt::RightDockWidgetArea</set>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Resources</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="dockWidgetContents">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTreeWidget" name="treeWidget">
|
||||
<property name="alternatingRowColors">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="autoExpandDelay">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
<property name="indentation">
|
||||
<number>20</number>
|
||||
</property>
|
||||
<property name="rootIsDecorated">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<attribute name="headerVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="headerStretchLastSection">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>name</string>
|
||||
</property>
|
||||
</column>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Textures</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Meshes</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Materials</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Shaders</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Entities</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
@ -4,10 +4,10 @@
|
||||
#
|
||||
#-------------------------------------------------
|
||||
|
||||
QT += core gui opengl widgets
|
||||
QT += core
|
||||
|
||||
TARGET = sparrowRenderer
|
||||
TEMPLATE = app
|
||||
TEMPLATE = lib
|
||||
CONFIG += c++11
|
||||
|
||||
INCLUDEPATH += ../cpp_dependencies/include
|
||||
@ -20,11 +20,7 @@ unix {
|
||||
LIBS += -lGL -lGLEW -lGLU
|
||||
}
|
||||
|
||||
|
||||
SOURCES += main.cpp\
|
||||
mainwindow.cpp \
|
||||
myglwidget.cpp \
|
||||
shader.cpp \
|
||||
SOURCES += shader.cpp \
|
||||
mesh.cpp \
|
||||
camera.cpp \
|
||||
gridmesh.cpp \
|
||||
@ -41,12 +37,9 @@ SOURCES += main.cpp\
|
||||
phongmodule.cpp \
|
||||
skyboxmodule.cpp \
|
||||
basicmodule.cpp \
|
||||
resourcewidget.cpp \
|
||||
modulewidget.cpp
|
||||
framebuffer.cpp
|
||||
|
||||
HEADERS += mainwindow.h \
|
||||
myglwidget.h \
|
||||
shader.h \
|
||||
HEADERS += shader.h \
|
||||
mesh.h \
|
||||
camera.h \
|
||||
glassert.h \
|
||||
@ -67,12 +60,7 @@ HEADERS += mainwindow.h \
|
||||
basicmodule.h \
|
||||
module.h \
|
||||
resource.h \
|
||||
resourcewidget.h \
|
||||
modulewidget.h
|
||||
|
||||
FORMS += \
|
||||
resourcewidget.ui \
|
||||
modulewidget.ui
|
||||
framebuffer.h
|
||||
|
||||
OTHER_FILES += *.frag *.vert *.glsl *.todo
|
||||
|
||||
|