David Williams
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
David Williams
ab741583e4
Renamed extractXxxSurface() to extractXxxMesh()
2014-05-22 23:26:40 +02:00
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
95a3e2e9ce
Smooth LOD example now uses free function surface extractor.
2014-05-11 16:29:51 +02:00
David Williams
347028199c
Paging example now also uses free-function surface extractor.
2014-05-11 16:27:38 +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
ae87dbee77
Fixed materials in OpenGL example.
2014-05-08 16:40:27 +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
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
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
David Williams
fe3f2d589e
Fixed uninitialized variables (was causing crash on OS X).
2014-04-14 21:08:05 +02:00
David Williams
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
David Williams
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
David Williams
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
David Williams
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
David Williams
1f1cc67fb7
Revert "Remove usage of QOpenGLFunctions and use GLEW instead."
...
This reverts commit 464d713c2affcf7d8acb3403c9bd33bca673fb56.
2014-03-25 21:44:01 +01: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
Matt Williams
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
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
David Williams
e35b58ba18
Fixed paging example.
2013-07-31 15:49:00 +02:00
David Williams
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
David Williams
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
David Williams
a00574351f
Renamed Block to CompressedBlock
2013-07-11 16:38:28 +02:00
David Williams
0d92bc6c8c
Starting to split Block class into CompressedBlock and UncompressedBlock.
2013-07-11 16:17:48 +02:00
Daviw Williams
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
Daviw Williams
26f512eba7
Fixed compile warning.
2013-07-02 16:08:52 +02:00
David Williams
839f366174
Compile fixes for Linux.
...
Added SWIG files to make bindings build.
2013-06-28 15:07:19 +02:00
Daviw Williams
f3ec94dd75
Reverted changes made for testing.
2013-06-27 16:43:49 +02:00
David Williams
72b3cd5154
Tidying up and comments.
2013-06-26 23:39:21 +02:00
David Williams
1064ea1c47
Stripped out unused code.
2013-06-26 22:14:01 +02:00
David Williams
acb43d54d9
Fixed paging example.
2013-06-26 22:08: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
David Williams
785ac611b9
Work on file paging.
2013-06-22 11:20:05 +02:00
David Williams
5664e2f681
Restored Paging Example back to previous values.
2013-06-22 07:30:06 +02:00