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
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