Mrio Luzeiro
d8eab321f7
3D Viewer: complete refactor of the 3D viewer.
...
* Split and rewrite the preview window and canvas.
* Create a new class for handling the board information.
* Adds new render targets: openGL, legacy, and ray tracing.
* Render targets take full advantage of the new 3D plugins system and 3D cache
for a fast 3D model loading.
* Faster board loading.
* New OpenGL render is faster than the old one.
* New ray tracing render target with a post processing shader.
* Use of new 3D plugins (WRL, X3D, STEP and IGES) and 3D model caching.
* Preview of 3D model while browsing the file name.
* 3D preview of the footprint while adding / align 3D shapes.
* Render of 3D models according to attributes: Normal, Normal+Insert, Virtual.
* Pivot rotation centered in one point over the PCB board.
* Shortcuts keys improved for XYZ orientation..
* Animated camera.
2016-07-19 13:35:25 -04:00
Simon Richter
1cb9260972
3D Viewer: drop extra copy ctors from IFSG_NODE.
...
* This is unnecessary. Explicitly specifying the regular copy ctor will
inhibit any generated versions.
2016-06-29 09:52:48 -04:00
Cirilo Bernardo
973786d75d
Fix 3D Coverity issue, other minor fixes
...
* CID 143740: Null pointer dereferences (NULL_RETURNS)
A few minor cut/paste and style issues in the 3D code are also fixed.
2016-04-07 18:54:14 -04:00
Simon Richter
a78a3f064e
Drop dependency on <mm_malloc.h>
...
This appears to be unused.
2016-04-06 22:55:49 -04:00
Simon Richter
9f420e0e76
Fix condition for Windows-style DLL export
2016-04-06 22:41:07 -04:00
jean-pierre charras
d18cdf1c53
merge 3d_initial_merge branch
2016-04-05 19:56:01 +02:00
Cirilo Bernardo
80f8e74797
Make changes to GLM header includes as per suggestions by Mario Luzeiro
2016-03-21 18:39:25 +11:00
Cirilo Bernardo
d051a8f47e
Changed IFSG* log reports from stderr/stdout to wxLogTrace
2016-02-23 16:28:41 +11:00
Cirilo Bernardo
99aba8f261
Changed handling of ambientIntensity; change of major version in SG* lib
2016-02-07 08:41:27 +11:00
Cirilo Bernardo
8dd744f635
Improved 3D cache manager's ability to replace outdated cache models
2016-01-31 13:21:12 +11:00
Cirilo Bernardo
dddc3d91e9
Cleaned up 3D SceneGraph API by removing references to wxString
2016-01-29 11:52:42 +11:00
Cirilo Bernardo
9d55ad375f
Removing redundant sg/ifsg colorindex files and references
2016-01-06 18:19:20 +11:00
Cirilo Bernardo
6b873ed46b
Work in progress: implementing SG translation for VRML1 models
2016-01-06 15:34:14 +11:00
Cirilo Bernardo
c798f8b545
Added support for FreeCAD VRML files
2016-01-04 18:10:15 +11:00
Cirilo Bernardo
fad73f0e85
VRML2 3D plugin is now functional
2016-01-02 12:21:02 +11:00
Cirilo Bernardo
b426740195
Removed dead code modules
2016-01-01 16:23:21 +11:00
Cirilo Bernardo
008d8a540a
+ Fixed bug in SGSHAPE::Prepare() : bad assignment of color pointer
...
+ Reworked s3d_plugin_demo2.cpp to use per-vertex-per-face normals
+ Reworked s3d_plugin_idf.cpp to use per-vertex-per-face normals
2015-12-17 13:55:35 +11:00
Cirilo Bernardo
eab70be17b
Changed cache->Prepare() to cache->GetModel()
2015-12-17 09:21:30 +11:00
Cirilo Bernardo
c0fcb15e3a
+ Rework S3D_CACHE::Prepare() to take only a filename and return
...
non-transformed S3DMODEL for rendering.
+ S3D_CACHE now caches S3DMODEL and returns a pointer to a single
instance of the S3DMODEL for repeated calls to Prepare()
+ Beginning the VRML Plugin
2015-12-16 20:01:44 +11:00
Cirilo Bernardo
c251fbac75
+ Improved the normals calculations (however it's still buggy)
...
+ Reworked 3D plugins to use normals calculations
2015-12-16 14:25:46 +11:00
Cirilo Bernardo
304cd81ebd
+ Bugfix: changed Plugin Loader to expect 'GetPluginVersion' instead of
...
'GetVersion'.
+ Introduced normal calculations. This is buggy due to multiple equal
face normals distorting the vertex normal; this will be fixed by
removing the redundant face normals from the calculations.
2015-12-15 18:53:03 +11:00
Cirilo Bernardo
6294e507f9
Changed function name to avoid name clash with MinGW system call
2015-12-15 09:17:10 +11:00
Cirilo Bernardo
aff84eab52
Using stdint.h rather than cstdint on MSWin
2015-12-15 08:44:20 +11:00
Cirilo Bernardo
b7d44368bd
Build fix: do not include cstdint under MSYS/MinGW
2015-12-15 07:52:37 +11:00
Cirilo Bernardo
a2fe783f53
Finished refactor and introduction of generic Plugin scheme
2015-12-14 14:51:28 +11:00
Cirilo Bernardo
3ff8ca0caf
Refactored to use new generic plugin base
2015-12-14 08:45:22 +11:00
Cirilo Bernardo
4e12999fa8
Removed some trailing white space. Fixed FindGLM.
2015-12-10 11:31:44 +11:00
Cirilo Bernardo
ac3acb0061
Moving headers to facilitate support for building 3D plugins out-of-tree
2015-12-09 18:30:48 +11:00
Mario Luzeiro
69cc788e8e
+ Removed glm source from kicad tree (Maciej / Cirilo)
...
+ Added renderer for 3D model preview (Mario)
+ Added 3d_cache including name resolver and modifications to 3D model dialogs (Cirilo)
2015-12-08 18:31:57 +11:00