Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/freestyle/intern/app_blender/Controller.cpp')
-rwxr-xr-xsource/blender/freestyle/intern/app_blender/Controller.cpp77
1 files changed, 38 insertions, 39 deletions
diff --git a/source/blender/freestyle/intern/app_blender/Controller.cpp b/source/blender/freestyle/intern/app_blender/Controller.cpp
index 3e9bf347c74..6fa31cdd03d 100755
--- a/source/blender/freestyle/intern/app_blender/Controller.cpp
+++ b/source/blender/freestyle/intern/app_blender/Controller.cpp
@@ -48,23 +48,18 @@
#include "Controller.h"
#include "../view_map/ViewMap.h"
#include "../winged_edge/Curvature.h"
-//#include "QGLBasicWidget.h"
-//#include <qimage.h>
#include "../image/Image.h"
#include "../view_map/SteerableViewMap.h"
#include "../stroke/PSStrokeRenderer.h"
#include "../stroke/TextStrokeRenderer.h"
#include "../stroke/StyleModule.h"
-#ifndef WIN32
-//# include "GLXOffscreenBuffer.h"
-//# include "GLXOffscreenBuffer.h"
-#endif
-
#include "../system/StringUtils.h"
#include "../scene_graph/BlenderFileLoader.h"
+#include "../../FRS_freestyle.h"
+
Controller::Controller()
{
@@ -252,8 +247,6 @@ int Controller::LoadMesh(Render *re)
// delete ws_builder;
// ws_builder = 0;
// }
- _pView->updateGL();
-
//soc QFileInfo qfi(iFileName);
//soc string basename((const char*)qfi.fileName().toAscii().data());
@@ -341,17 +334,7 @@ void Controller::CloseFile()
_Grid.clear();
_SceneNumFaces = 0;
_minEdgeSize = DBL_MAX;
- // _pView2D->DetachScene();
- // if(NULL != _SRoot)
- // {
- // int ref = _SRoot->destroy();
- // if(0 == ref)
- // {
- // //_SRoot->addRef();
- // delete _SRoot;
- // _SRoot = NULL;
- // }
- // }
+
}
// static const streamsize buffer_size = 512 * 1024;
@@ -597,18 +580,25 @@ void Controller::ComputeViewMap()
// we need to perform all these operations while the
// 3D context is on.
_pView->set3DContext();
- float src[3] = { 0, 0, 0 };
- float vp_tmp[3] = { 0, 0, 0 };
- _pView->_camera->getWorldCoordinatesOf(src, vp_tmp);
- Vec3r vp(vp_tmp[0], vp_tmp[1], vp_tmp[2]);
-
- real mv[4][4];
- _pView->RetriveModelViewMatrix((real *)mv);
- // retrieve the projection matrix:
- real proj[4][4];
- _pView->RetrieveProjectionMatrix((real *)proj);
- int viewport[4];
- _pView->RetrieveViewport(viewport);
+ Vec3r vp( freestyle_viewpoint[0], freestyle_viewpoint[1], freestyle_viewpoint[2]);
+
+ real mv[4][4];
+ for( int i= 0; i < 4; i++)
+ for( int j= 0; j < 4; j++)
+ mv[i][j] = freestyle_mv[i][j];
+
+
+ real proj[4][4];
+ for( int i= 0; i < 4; i++)
+ for( int j= 0; j < 4; j++)
+ proj[i][j] = freestyle_proj[i][j];
+
+
+ int viewport[4];
+ for( int i= 0; i < 4; i++)
+ viewport[i] = freestyle_viewport[i];
+
+
real focalLength = _pView->GetFocalLength();
// Flag the WXEdge structure for silhouette edge detection:
@@ -632,7 +622,14 @@ void Controller::ComputeViewMap()
vmBuilder.setEnableQI(_EnableQI);
vmBuilder.setViewpoint(Vec3r(vp));
- vmBuilder.setTransform(mv, proj, viewport, focalLength, _pView->GetAspect(), _pView->GetFovyRadian());
+cout << "focalLength: " << focalLength << endl;
+cout << "aspect: " << _pView->GetAspect() << endl;
+cout << "fovyradian: " << _pView->GetFovyRadian() << endl;
+
+cout << "znear: " << _pView->znear() << endl;
+cout << "zfar: " << _pView->zfar() << endl;
+
+ vmBuilder.setTransform( mv, proj,viewport, focalLength, _pView->GetAspect(), _pView->GetFovyRadian());
vmBuilder.setFrustum(_pView->znear(), _pView->zfar());
vmBuilder.setGrid(&_Grid);
@@ -843,10 +840,17 @@ void Controller::DrawStrokes()
_Chrono.start();
_Canvas->Draw();
real d = _Chrono.stop();
- cout << "Strokes drawing : " << d << endl;
+ cout << "Strokes generation : " << d << endl;
resetModified();
}
+void Controller::RenderBlender(Render *re) {
+ BlenderStrokeRenderer* blenderRenderer = new BlenderStrokeRenderer;
+ _Canvas->Render( blenderRenderer );
+ blenderRenderer->RenderScene(re);
+ blenderRenderer->Close();
+}
+
void Controller::InsertStyleModule(unsigned index, const char *iFileName)
{
// QFileInfo fi(iFileName);
@@ -898,7 +902,6 @@ void Controller::SwapStyleModules(unsigned i1, unsigned i2)
void Controller::toggleLayer(unsigned index, bool iDisplay)
{
_Canvas->setVisible(index, iDisplay);
- _pView->updateGL();
}
void Controller::setModified(unsigned index, bool iMod)
@@ -917,10 +920,6 @@ void Controller::updateCausalStyleModules(unsigned index) {
}
}
-void Controller::saveSnapshot(bool b) {
- _pView->saveSnapshot(b);
-}
-
void Controller::resetModified(bool iMod)
{
//_pStyleWindow->resetModified(iMod);