367 Commits

Author SHA1 Message Date
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
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
3249562d97 Removing more calls to getVoxelAt()... 2013-06-12 15:41:45 +02:00
Daviw Williams
60d6658e1a Changed a couple of 'getVoxelAt()' to 'getVoxel()'. 2013-06-12 13:38:36 +02:00
Daviw Williams
1010052ea6 Reworking the logging system. 2013-05-14 16:52:16 +02:00
Matt Williams
cc430ae129 Update Python bindings, tests and example to use Python 3 2013-04-17 20:48:15 +01:00
Matt Williams
7473cd4458 Slightly simplify the Python code in the example
This is in preparation for the Python bindings manual chapter I'm writing
at the moment.
2013-04-16 23:00:06 +01: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
8ad0cae89a Add an example which uses the Python bindings
This is more or less a copy of the BasicExample but using ever so slightly more
modern OpenGL (>=3.0). I've tried to comment this as much as possible.

In addition to this simple example I will go on to develop a more complex
application as discussed in issue #21
2013-01-19 14:24:10 +00:00
Daviw Williams
1e9bb88337 Fixed compile errors in VS2008. 2013-01-02 14:13:42 +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
David Williams
416fdbb1d2 Moved GLEW into Examples/Common folder in Visual Studio. 2012-12-09 19:06:02 +01:00
David Williams
20a6095d75 Removed use of Vector deprecated operator<. 2012-12-09 14:36:22 +01: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