Commit Graph

385 Commits

Author SHA1 Message Date
da8f294847 Comments 2014-05-23 14:37:35 +02:00
4cec89de38 Added ability to specify the visible region so that the example framework can support different volume sizes. 2014-05-23 14:32:46 +02:00
ab741583e4 Renamed extractXxxSurface() to extractXxxMesh() 2014-05-22 23:26:40 +02:00
f8ce3a5f3d Tidying camera code. 2014-05-22 17:03:06 +02:00
16cbb94d90 Rotation is now applied by moving the camera rather than the meshes. 2014-05-22 16:51:41 +02:00
7d55e00f76 More work adding support for multiple meshes. 2014-05-22 16:38:02 +02:00
51e93fdabc Modifying the OpenGLWidget so that it can render multiple meshes. 2014-05-22 16:25:36 +02:00
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
95a3e2e9ce Smooth LOD example now uses free function surface extractor. 2014-05-11 16:29:51 +02:00
347028199c Paging example now also uses free-function surface extractor. 2014-05-11 16:27:38 +02:00
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
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
ae87dbee77 Fixed materials in OpenGL example. 2014-05-08 16:40:27 +02:00
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
4c2aea3db1 Removed CubicSurfaceExtractorWithNornals. Going forward users will be expected to compute flat normals in the fragment shader. 2014-05-06 22:00:24 +02:00
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
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
fe3f2d589e Fixed uninitialized variables (was causing crash on OS X). 2014-04-14 21:08:05 +02:00
d79ac03fb6 VS2012 doesn't accept these curly brackets (C++11 initializer lists?). The code seems to work without them though. 2014-03-25 23:03:18 +01:00
7b5e1cd1d5 Unfortunately VS2012 doesn't support 'R' raw string literals . Maybe the shader code should be moved into separate files anyway. 2014-03-25 23:00:29 +01:00
a78508a79f Switched from QOpenGLFunctions_3_1 to QOpenGLFunctions. This seems to require not using vertex arrays, which needs further investigation. 2014-03-25 22:49:59 +01:00
19387fd62e I believe the correct way to use the QOpenGLFunction_3_1 class is actually to use protected inheritance, so that it's members are pulled into class scope and we can avoid the 'gl->' prefix. At least, this is the recommended approach for QOpenGLFunctions (http://qt-project.org/doc/qt-5/qopenglfunctions.html#details) 2014-03-25 21:53:14 +01:00
1f1cc67fb7 Revert "Remove usage of QOpenGLFunctions and use GLEW instead."
This reverts commit 464d713c2a.
2014-03-25 21:44:01 +01:00
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
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
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
acbfb184b8 Wrapped MarchingCubesSurfaceExtractor with functions (part of unclassing). 2014-03-05 16:30:54 +01:00
529e97f71e Added use of auto for determining mesh type. 2014-03-05 15:58:33 +01:00
0755961750 Added support for default parameters. 2014-03-05 15:50:17 +01:00
67ec0d2db8 Initial function wrapper around CubicSurfaceExtractorWithNormals. 2014-03-05 15:41:16 +01:00
bc17c802bb Assume C++11 support
Remove all CMake checks for C++11 support since we now assume that we have it.
Replace all polyvox_* macros with standard C++ names.

See #48
2014-02-14 15:03:26 +00:00
248a5c3e29 Removed old logging system. 2014-01-30 22:10:52 +01:00
9ad4c3fcf7 Initial checkin of Timer class. 2013-08-07 23:07:26 +02:00
e35b58ba18 Fixed paging example. 2013-07-31 15:49:00 +02:00
4478e365c9 Removed RLECompressor as the code is now in RLEBlockCompressor.
Things are starting to get back under control. All tests pass, and all examples except PagingExample work.
2013-07-30 17:01:27 +02:00
7146b5ecdb The idea of a 'setTargetMemoryLimitInBytes' function was not really working out. It was too comp-lex and not really clear what the ideal size would be. I think user code needs to call setMaxNumberOfBlocksInMemory() and setMaxNumberOfUncompressedBlocks() directly, if they see from profiling toat too much camressing or paging is taking place. 2013-07-23 13:15:01 +02:00
a00574351f Renamed Block to CompressedBlock 2013-07-11 16:38:28 +02:00
0d92bc6c8c Starting to split Block class into CompressedBlock and UncompressedBlock. 2013-07-11 16:17:48 +02:00
bd60f34bd7 Removing explicit functions to control the number of compressed and uncompressed blocks in memory, and letting the user set a memory limit instead. 2013-07-04 16:23:58 +02:00
26f512eba7 Fixed compile warning. 2013-07-02 16:08:52 +02:00
839f366174 Compile fixes for Linux.
Added SWIG files to make bindings build.
2013-06-28 15:07:19 +02:00
f3ec94dd75 Reverted changes made for testing. 2013-06-27 16:43:49 +02:00
72b3cd5154 Tidying up and comments. 2013-06-26 23:39:21 +02:00
1064ea1c47 Stripped out unused code. 2013-06-26 22:14:01 +02:00
acb43d54d9 Fixed paging example. 2013-06-26 22:08:49 +02:00
938eea7c8e Work on tidying LargeVolume... 2013-06-26 22:01:44 +02:00
44d525f591 Tidying up and refactoring LargeVolume. 2013-06-26 17:02:06 +02:00
8ab6d73f0a Work on LargeVolume refactoring - getting FilePager working. 2013-06-25 23:34:58 +02:00
59505d47e9 Tidying up Block and FilePager. 2013-06-23 23:17:40 +02:00
785ac611b9 Work on file paging. 2013-06-22 11:20:05 +02:00