105 Commits

Author SHA1 Message Date
David Williams
f8ce3a5f3d Tidying camera code. 2014-05-22 17:03:06 +02:00
David Williams
16cbb94d90 Rotation is now applied by moving the camera rather than the meshes. 2014-05-22 16:51:41 +02:00
David Williams
7d55e00f76 More work adding support for multiple meshes. 2014-05-22 16:38:02 +02:00
David Williams
51e93fdabc Modifying the OpenGLWidget so that it can render multiple meshes. 2014-05-22 16:25:36 +02:00
David Williams
f2ba500c4c Merge branch 'develop' into feature/vertex-refactor
Conflicts:
	examples/Basic/main.cpp
	examples/Paging/main.cpp
	examples/SmoothLOD/main.cpp
	library/PolyVoxCore/include/PolyVoxCore/CubicSurfaceExtractorWithNormals.h
	tests/TestCubicSurfaceExtractor.cpp
	tests/TestSurfaceExtractor.cpp
	tests/TestVolumeSubclass.cpp
2014-05-12 23:04:19 +02:00
David Williams
a51eaa4a02 Merge branch 'develop' of https://bitbucket.org/volumesoffun/polyvox into feature/extractor-refactor
Conflicts:
	examples/Basic/main.cpp
2014-05-11 16:21:37 +02:00
David Williams
573c36db87 Renamed vertex classes to the far more meaningful 'CubicVertex' and 'MarchingCubesVertex'. The old names didn't make much sense, even less so now they are templatized. 2014-05-11 15:17:59 +02:00
David Williams
b0a8ca8a64 This commit templatizes the vertex classes on voxel types. This was the main change which was made for Cubiquity and it's very messy at the moment. However, this will improve when we make more use of 'auto' to hide the template madness. 2014-05-07 23:47:18 +02:00
David Williams
5dfa7e2562 The CubicSurfaceExtractor now generates vertices of type PositionMaterialNormal rather than PositionMaterial. The normal property is just a dummy and is not filled in, though conceptually we could put something in there in the future (average normal of surrounding faces?)
The point of this change is to move towards having a single vertex class with known properties (including normal). This makes it simpler to write code which uses the vertices because we always know which properties are present. This will probably be useful when working with vertex buffer objects.
2014-05-05 20:53:47 +02:00
David Williams
2da902d5f9 This change reverts PolyVox back to using Qt 4.8. This is expected to be a temporary change, required because moving to Qt 5 caused various complications on Windows which we are not yet ready to address.
For more details see here: https://bitbucket.org/volumesoffun/polyvox/issue/41/upgrade-to-qt-5
2014-05-05 20:29:52 +02:00
Matt Williams
464d713c2a Remove usage of QOpenGLFunctions and use GLEW instead.
Qt's OpenGL interface was causing problems on Windows since it doesn't mix
well with ANGLE.

Relates to issue #50.
2014-03-23 12:16:02 +00:00
Matt Williams
ac16dfd325 Update the BasicExample to use OpenGL 3
The example now uses OpenGL 3 features like Vertex Array Objects and uses
no immediate mode stuff. Qt5 is used for some features like matrices and
shaders.

There is now no dependency on GLEW either.
2014-03-19 21:26:04 +00:00
Matt Williams
868fbb84a0 Update to use Qt5
The examples and tests now use Qt5. This allows some nice tidying of the
CMake files, some of which will come in future.

Closes issue #41
2014-03-09 18:02:24 +00:00
David Williams
acbfb184b8 Wrapped MarchingCubesSurfaceExtractor with functions (part of unclassing). 2014-03-05 16:30:54 +01:00
David Williams
529e97f71e Added use of auto for determining mesh type. 2014-03-05 15:58:33 +01:00
David Williams
0755961750 Added support for default parameters. 2014-03-05 15:50:17 +01:00
David Williams
67ec0d2db8 Initial function wrapper around CubicSurfaceExtractorWithNormals. 2014-03-05 15:41:16 +01:00
David Williams
248a5c3e29 Removed old logging system. 2014-01-30 22:10:52 +01:00
David Williams
9ad4c3fcf7 Initial checkin of Timer class. 2013-08-07 23:07:26 +02:00
Daviw Williams
f3ec94dd75 Reverted changes made for testing. 2013-06-27 16:43:49 +02:00
David Williams
938eea7c8e Work on tidying LargeVolume... 2013-06-26 22:01:44 +02:00
Daviw Williams
44d525f591 Tidying up and refactoring LargeVolume. 2013-06-26 17:02:06 +02:00
David Williams
8ab6d73f0a Work on LargeVolume refactoring - getting FilePager working. 2013-06-25 23:34:58 +02:00
David Williams
59505d47e9 Tidying up Block and FilePager. 2013-06-23 23:17:40 +02:00
Matt Williams
f5ea8878c2 Add a default CompilerCapabilities.h
This file assumes that the compiler doesn't support anything. If building
without CMake, it will be used and if you want to enable things, the file
can be edited.

When using CMake, a proper CompilerCapabilites.h will be generated and
CMake will set the include path order correctly in order to source the
correct file.
2012-12-26 12:54:52 +00:00
David Williams
74f25eac23 Merge branch 'develop' into feature/cmake-cxx11-detect
Conflicts:
	examples/Basic/CMakeLists.txt
	examples/OpenGL/CMakeLists.txt
	examples/Paging/CMakeLists.txt
	examples/SmoothLOD/CMakeLists.txt
	library/PolyVoxCore/include/PolyVoxCore/Impl/TypeDef.h
2012-12-24 20:08:31 +00:00
Matt Williams
312a3def68 Fix GLEW compile error on Windows. 2012-11-26 23:15:19 +00:00
Matt Williams
989cd453fe Consolidate glew into one location to speed up build. 2012-11-23 23:01:50 +00:00
Matt Williams
3902e00a0f Add a CompilerCapabilities.h.in file which is filled in by CMake
It will #define a each of the basic features detected by CMake which can
then be used by other headers (like TypeDef.h) to set things up for
PolyVox.

It is this file which you will have to manually edit and rename if you want
to skip using CMake.
2012-11-23 15:41:26 +00:00
Matt Williams
7f6d952dbe A better fix than 17a2a8e3d1f8bd8e841443ec5157ee71010ba965 for GLEW 2012-11-19 12:05:29 +00:00
Matt Williams
17a2a8e3d1 Fix include path for glew headers. 2012-11-19 10:44:10 +00:00
David Williams
03cd1ada6d Small changes to basic example, mostly for clarity. 2012-11-17 16:38:46 +01:00
David Williams
570b633f6b Now it's really fixed. 2012-11-17 12:37:39 +01:00
David Williams
a3edb3358b I broke all the examples when I updated GLEW, now fixed. 2012-11-17 12:34:58 +01:00
Daviw Williams
ba6f3ac48b Updated GLEW to latest version (this fixes some compiler warnings). 2012-11-16 10:48:32 +01:00
unknown
2566f3a7d2 Examples have had their loops backwards... fortunately all the volumes were cubic so it didn't matter. 2012-11-02 13:29:58 +01:00
David Williams
bc01223237 Removed some unecessary hierarchy in VS project structure.
Renamed the documentation targets in VS for clarity.
2012-09-28 14:07:13 +02:00
David Williams
4b63c34305 Brought the manual and API docs together under the same heading in Visual Studio. 2012-09-28 13:54:27 +02:00
Matt Williams
480c159327 Add copyright headers to all the CMake files 2012-08-24 13:20:41 +01:00
Matt Williams
b96309f4a4 Use the CMake folder tool to help IDEs groupt targets.
This is done as seen in http://athile.net/library/blog/?p=288

Hopefully this works in Visual Studio as KDevelop doesn't use this feature.
2012-08-12 04:29:51 +01:00
unknown
309f270e67 Exposed 'VoxelType' in BaseVolume. 2012-04-16 16:50:41 +02:00
unknown
86b84339af Work on CubicSurfaceExtractorWithNormals. 2012-04-16 16:14:09 +02:00
unknown
7d1d81c732 Work making CubicSurfaceExtractorWithNormals use 'isQuadNeeded'. 2012-04-16 15:23:45 +02:00
Matt Williams
8e4135ad41 Add newlines to end of files to silence compiler warnings 2012-02-27 23:03:36 +00:00
unknown
3f56ee6f72 More refactoring of basic voxel types. Started replacing getDensity and getMaterial with free functions. 2012-02-18 12:12:38 +01:00
unknown
c483b44a41 Replaced constants with functions for type traits. 2012-02-06 17:51:37 +01:00
p265186
49b5fb3f67 Refactoring of basic voxel types. 2012-01-12 17:14:45 +01:00
David Williams
462295cf8b Switched BasicExample back to 'advanced' API (not SimpleInterface). 2011-10-16 23:03:04 +01:00
David Williams
db81e1bc3f Work on simple interface. 2011-10-15 00:01:17 +01:00
David Williams
6f31898fd7 Renamed Volume base class to BaseVolume.
Added initial version of simple interface.
2011-10-14 23:57:10 +01:00