1878 Commits

Author SHA1 Message Date
David Williams
eb39f0bb4c OpenGLExample is once again rendered as multiple separate mehses (but using the example framework this time). 2014-05-25 12:28:45 +02:00
David Williams
f78aad8abd Fixed colors to match previous version of the example. 2014-05-24 22:58:31 +02:00
David Williams
99cf75e902 Material now passed to shader as integer rather than float. 2014-05-24 22:53:10 +02:00
David Williams
07b9cf05fa Changed OpenGLExample to use MaterialDensityPair88 instead of MaterialDensityPair44.
Added material to shaders.
2014-05-24 21:09:26 +02:00
David Williams
aace1f2e36 Exposing normals to example framework. 2014-05-24 09:38:01 +02:00
David Williams
f65edddd81 Tidying up. 2014-05-24 08:38:18 +02:00
David Williams
6cbb2d44bf Work on making OpenGLExample work with common example framework. 2014-05-23 22:44:58 +02:00
David Williams
34f57911a7 Converting OpenGLExample to use common OpenGLWidget. 2014-05-23 22:18:17 +02:00
David Williams
d34fd6b3c8 Moved OpenGLWidget into common folder so it can be used by other examples. 2014-05-23 22:11:47 +02:00
David Williams
4f7e1e6846 Each mesh now has it's own transform matrix applied, so that our example framework can support breaking a volume into regions. 2014-05-23 22:03:57 +02:00
David Williams
9f5b2e1659 Better templatization of addMesh. 2014-05-23 17:02:46 +02:00
David Williams
37bdf8e3ac Templatised code for example mesh conversion. 2014-05-23 16:26:56 +02:00
David Williams
79acf814db Revert "Compile fixes for VS2012"
This reverts commit e8313a683bd748ab36b2aff42ebdd16d28bd5320.
2014-05-23 16:11:53 +02:00
David Williams
e8313a683b Compile fixes for VS2012 2014-05-23 15:32:28 +02:00
David Williams
4aae00e4a8 Renamed SurfaceMesh to just Mesh 2014-05-23 15:17:07 +02:00
David Williams
da8f294847 Comments 2014-05-23 14:37:35 +02:00
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
Matt Williams
7fc954a6bf Fix SWIG include paths for C# bindings 2014-05-20 14:43:18 +01:00
David Williams
ef61480c3d Merge branch 'feature/vertex-refactor' into develop 2014-05-12 23:08:27 +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
1e0b8e97eb Merge branch 'feature/extractor-refactor' into develop 2014-05-12 21:13:26 +02:00
David Williams
d69e840055 Merge branch 'develop' into feature/vertex-refactor
Conflicts:
	library/PolyVoxCore/include/PolyVoxCore/DefaultIsQuadNeeded.h
	library/PolyVoxCore/include/PolyVoxCore/MarchingCubesSurfaceExtractor.inl
	library/PolyVoxCore/source/VertexTypes.cpp
2014-05-11 20:45:31 +02:00
David Williams
5191c3c068 Merge branch 'develop' into feature/extractor-refactor 2014-05-11 20:35:44 +02:00
David Williams
a34c106382 I accidentally merged the 'cubiquity-version' feature back into develop. It seems I can't simply reverse this commit (at least through SourceTree ) because it was a merge, so I'm having to simply revert the contents of the commit (i.e. the files). Bit of a mess! 2014-05-11 20:34:41 +02:00
David Williams
1bff5c207c Merge branch 'feature/cubiquity-version' of https://bitbucket.org/volumesoffun/polyvox.git into develop 2014-05-11 19:47:05 +02:00
David Williams
217aa93720 Test now uses free-function surface extractor. 2014-05-11 16:41:52 +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
12246d1633 The PositionMaterial class can now be removed as we're not using it. 2014-05-05 20:58:35 +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
Matt Williams
45302fde02 Qt is not REQUIERD. This was causing errors. 2014-03-27 10:24:29 +00: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