git-svn-id: svn://db.shs.com.ru/libs@42 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2015-11-16 18:20:13 +00:00
parent c27e345c51
commit ddcd5c716a
18 changed files with 389 additions and 158 deletions

View File

@@ -17,7 +17,10 @@
*/
#include "mainwindow.h"
#include "loader_obj.h"
#include "loader_dae.h"
#include <QGraphicsRectItem>
#include <QImageReader>
#define EARTH_H 6356863.019 // m
#define EARTH_WL 6378245.000 // m
@@ -39,7 +42,6 @@ MainWindow::MainWindow(QWidget * parent): QMainWindow(parent), Ui::MainWindow()
/*MaterialEditor * o = new MaterialEditor();
o->setWindowOpacity(.666);
view->addObject(o, Qt::Window);*/
view->start(-1);
/**obj = loadFrom3DSFile("data/test.3DS", 0.15);
m.reflectivity = 1;
m.reflection.loadPathesFromDirectory("data/e");
@@ -59,9 +61,15 @@ MainWindow::MainWindow(QWidget * parent): QMainWindow(parent), Ui::MainWindow()
//obj->child("teapot")->setRenderMode(GLObjectBase::Point);
//obj->child("teapot")->setLineWidth(2.);
//obj->child("cone")->setRenderMode(GLObjectBase::Line);
///view->camera().setAim(obj->child("sphere001")->pos());
obj = new GLPrimitiveEllipsoid(EARTH_WL / 1E+6, EARTH_WL / 1E+6, EARTH_H / 1E+6, 500, 500);//GLPrimitiveCube();
//view->camera().setAim(obj->child("sphere001")->pos());
QImageReader im("D:/orders/libs/qglview/data/SU-33_maps/Map__14_Mix.tga");
QImage i = im.read();
qDebug() << i.size() << im.errorString();
GLTextureManager::addSearchPath("data");
GLTextureManager::addSearchPath("data/images");
GLTextureManager::addSearchPath("data/SU-33_maps");
obj = loadFromDAEFile("data/su33t.dae");//new GLPrimitiveEllipsoid(EARTH_WL / 1E+6, EARTH_WL / 1E+6, EARTH_H / 1E+6, 500, 500);//GLPrimitiveCube();
//obj = new GLPrimitiveEllipsoid(100, 100, 100, 100, 100);//GLPrimitiveCube();
view->addObject(obj);
double al = 7.;
@@ -81,13 +89,14 @@ MainWindow::MainWindow(QWidget * parent): QMainWindow(parent), Ui::MainWindow()
view->camera().setPos(QVector3D(10, -20, 20));
view->camera().setAim(QVector3D());
view->camera().flyToDistance(10);
view->camera().flyToDistance(300);
view->setMouseSelectionEnabled(false);
view->setSelectionHaloEnabled(false);
view->setHoverHaloEnabled(false);
Light * l = new Light(view->camera().pos());
l->intensity = 0.8;
view->addObject(l);
view->start(-1);
//view->light(0)->light_type = Light::Omni;
//obj = loadFrom3DSFile("34.3DS", 0.03);
//view->addObject(obj);
@@ -113,7 +122,7 @@ MainWindow::MainWindow(QWidget * parent): QMainWindow(parent), Ui::MainWindow()
box->setLineWidth(2.);
view->addObject(box);
box->hide();*/
while (view->lightsCount() >= 5) view->removeLight(view->lightsCount() - 1);
//while (view->lightsCount() >= 5) view->removeLight(view->lightsCount() - 1);
//view->addObject(box);
//obj = obj->clone(true);
@@ -158,7 +167,7 @@ void MainWindow::changeEvent(QEvent * e) {
void MainWindow::timerEvent(QTimerEvent * ) {
static double t = 0.;
view->light(0)->setPos(view->camera().pos());
view->light(view->lightsCount() - 1)->setPos(view->camera().pos());
((RendererSimple*)(view->renderer()))->mpos = view->mapFromGlobal(QCursor::pos());
/*obj->child("tor")->rotateX(0.5);
obj->child("tor")->rotateZ(0.1);