70 Commits

Author SHA1 Message Date
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
David Williams
839f366174 Compile fixes for Linux.
Added SWIG files to make bindings build.
2013-06-28 15:07:19 +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
Daviw Williams
44d525f591 Tidying up and refactoring LargeVolume. 2013-06-26 17:02:06 +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
David Williams
a14de4a72e Replaced std::functions with Pager class for paging. 2013-06-16 19:48:14 +02:00
David Williams
414a012230 Creating a Perlin noise generator as a 'pager'. 2013-06-16 19:12:37 +02:00
Daviw Williams
60d6658e1a Changed a couple of 'getVoxelAt()' to 'getVoxel()'. 2013-06-12 13:38:36 +02:00
Daviw Williams
b7eeda3370 Find and replace all instance of getLowerCorner().getX(), etc with getLowerX(), etc has resulted in all tests now running in 120 seconds instead of 144 seconds because it avoids creating temporary objects. 2013-02-08 16:15:53 +01: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
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
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
301f93d896 Turned isQuadNeeded() (which was a stl::function) into a function object. 2012-08-09 16:06:10 +02:00
unknown
679d98735a Renamed SurfaceExtractor to MarchingCubesSurfaceExtractor. 2012-07-15 17:40:37 +02:00