100 Commits

Author SHA1 Message Date
David Williams
bfc7dfdc1b Removed the ability to specify a region in the PagedVolume's constructor, and updated the tests and examples where required. 2015-02-28 23:31:23 +01:00
David Williams
64d010527b Removed old getVoxelAt()/setVoxelAt() functions. they've been flagged as deprecated for a while now, and are replaced by just getVoxel()/setVoxel(). 2015-02-27 11:07:15 +01:00
David Williams
e985dce075 Templatized OpenGLWidget so users can specify the version of OpenGL to support. 2015-02-24 22:17:46 +01:00
David Williams
7262ca313e More work splitting example framework into two pieces. 2015-02-20 16:56:03 +01:00
David Williams
838407ba4f Started splitting example framework into to two classes. One will be general purpose (for use in Cubiquity, etc), and the other will have PolyVox specific stuff. 2015-02-20 16:20:09 +01:00
David Williams
9c93c5fc36 Switched examples to use FPS-style first person perspective camera. 2015-02-20 15:28:54 +01:00
David Williams
565aa21799 Refactoring example code. 2015-02-20 11:23:17 +01:00
David Williams
ec80bfe740 Switched to using Qt for loading extensions, instead of GLEW. 2015-02-09 23:17:33 +01:00
David Williams
c62bde0066 Work on getting the OpenGL/Qt5 support working with new header-only library. 2015-02-09 22:11:06 +01:00
David Williams
049a77cd0c Moved all headers from 'PolyVoxCore' to 'PolyVox', as we no longer have the core/util distinction. 2015-02-07 17:26:36 +01:00
David Williams
16a75d0606 Reoranising header structure. 2015-02-07 17:16:54 +01:00
David Williams
a296807ed9 Removed PolyVoxUtil. 2015-02-07 14:59:08 +01:00
David Williams
c3f2e5217e Removed CMake code which tries to build/use PolyVoxCore as a library. 2015-02-06 23:29:35 +01:00
David Williams
8065b709d1 Made Region header only. 2015-02-06 00:07:32 +01:00
David Williams
86357d66b7 Normalized line endings 2014-09-25 22:38:01 +02:00
David Williams
db2e62d2a8 Replaced LargeVolume and SimpleVolume with PagedVolume in tests and examples. 2014-09-21 17:57:42 +02:00
David Williams
d6a7b83698 Moved Pager to be a nested class of PagedVolume. 2014-09-21 11:42:12 +02:00
David Williams
db9a74fdb4 Moving Chunk to be a nested class of PagedVolume. 2014-09-21 10:27:55 +02:00
David Williams
71035029d1 More renaming blocks to chunks. 2014-09-20 23:27:28 +02:00
David Williams
0ab7f27f0f More renaming of block to chunk. 2014-09-20 21:27:26 +02:00
David Williams
8d7d88a7df Renamed a bunch of stuff from using 'block' to 'chunk' 2014-09-20 17:39:12 +02:00
David Williams
ede35435a0 Renamed UncompressedBlock to Chunk. 2014-09-20 17:26:57 +02:00
David Williams
b08974c197 Work on limiting memory usage. 2014-09-18 16:26:47 +02:00
David Williams
d2bbd6beba Some renaming. 2014-09-18 14:58:17 +02:00
David Williams
8dd026e095 Work on limiting maximum memory usage. 2014-09-18 14:51:43 +02:00
David Williams
5b59bc2d8c Moved paging code into block constructor/destructor. 2014-09-17 13:35:43 +02:00
David Williams
47ace554cc Making use of shared_ptr to track blocks. 2014-09-14 11:47:17 +02:00
David Williams
c0a22de2df Removed a lot of compression-related code. 2014-09-13 12:20:56 +02:00
David Williams
302c6e688b More work eliminating compression from inside LargeVolume. 2014-09-13 11:59:51 +02:00
David Williams
4781ca5c42 Work on removing compression from LargeVolume. 2014-09-12 15:36:28 +02:00
David Williams
bfa14a32df Split 'decode()' function into several variants so it's not so heavily overloaded. 2014-07-24 16:55:11 +02:00
David Williams
e9ba998f2f Changes to the folder organization of some files in Visual Studio (via CMake's source_group). 2014-05-28 14:03:26 +02:00
Matt Williams
c26686476d Use Qt's resource system to store the shader source
The shader source is included inside each comipled binary file. The
OpenGL example also provides its own shader files which overrides
the default. Common shader code is in the 'common' directory and
each example's custom shader is alongside the example's C++ code.
2014-05-28 10:29:05 +01:00
David Williams
35049b7a53 Throw exception if extracted region is too large. 2014-05-27 23:23:24 +02:00
Matt Williams
140cbc0fc7 Move shader code to external files rather than embedded
A bit of CMake code in each example copies the files to the
correct location and Qt loads them from the application's binary
directory.
2014-05-27 15:08:20 +01:00
David Williams
349dc2b0e6 Centered volume in viewport. 2014-05-25 21:06:44 +02:00
David Williams
e80c88a5ec Paging example now uses the new example OpenGLWidget. 2014-05-25 21:03:52 +02:00
David Williams
4aae00e4a8 Renamed SurfaceMesh to just Mesh 2014-05-23 15:17:07 +02:00
David Williams
ab741583e4 Renamed extractXxxSurface() to extractXxxMesh() 2014-05-22 23:26:40 +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
347028199c Paging example now also uses free-function surface extractor. 2014-05-11 16:27:38 +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
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
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
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
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