1704 Commits

Author SHA1 Message Date
David Williams
e40eb6d762 Work on GPU decoding. 2014-05-29 19:29:15 +02:00
David Williams
8604d1209e Initial version of decoding shaders. 2014-05-29 14:23:22 +02:00
David Williams
f945fd4ce4 Work on example to decode vertices on the GPU. 2014-05-29 12:38:43 +02:00
David Williams
b635e9d29d Copied BasicExample as base for new 'DecodeOnGPU' example. 2014-05-29 12:20:33 +02:00
David Williams
2090b0087c Vertices now carry general purpose 'data' rather than a 'material', though the data will be treated as a material in many cases. This is part of making the architecture more generic and involves some renaming. 2014-05-29 11:39:29 +02:00
David Williams
85c5686ff9 Work on more compact version of MarchingCubesVertex. 2014-05-29 09:53:16 +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
David Williams
37ba9ab338 CubicVertex now uses a more memory efficient representation which can be decoded on the CPU or GPU. 2014-05-27 23:01:38 +02:00
David Williams
1790d8338f Merge branch 'feature/vertex-and-example-refactor' of https://bitbucket.org/volumesoffun/polyvox into feature/vertex-and-example-refactor 2014-05-27 17:05:46 +02:00
David Williams
764c9ac97c Simplified vertex types to structs with public members.
Added (currently dummy) decode methods.
2014-05-27 17:05:15 +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
1d8fc25cb7 Compile fixes for GCC/Linux 2014-05-26 23:14:29 +02:00
David Williams
321d3eb7d4 Removed initializer which isn't supported in VS 2012. 2014-05-26 22:51:55 +02:00
David Williams
ba58cff815 Removed use of 'R' raw string literals as CS 2012 doesn't support them. 2014-05-26 22:51:09 +02:00
David Williams
5a23299634 More tidying shader code. 2014-05-26 21:14:54 +02:00
David Williams
fd3879faeb Tidying OpenGLExample shader code. 2014-05-26 21:10:07 +02:00
David Williams
40e528d782 Added lighting to OpenGL example. 2014-05-26 17:00:26 +02:00
David Williams
4ae25d6b1e More commenting. 2014-05-26 16:50:13 +02:00
David Williams
e9c8daa9cb Add comments and tidying. 2014-05-26 16:31:12 +02:00
David Williams
2a072f9347 Rearranged some functions. 2014-05-25 23:44:37 +02:00
David Williams
9e835a1110 Shader now passed by shared pointer. 2014-05-25 23:40:55 +02:00
David Williams
b97bf52214 Tidying up. 2014-05-25 23:34:12 +02:00
David Williams
ec08b28002 Turned off back-face culling in examples, as this makes it easier to view certain shapes such as heightmaps. 2014-05-25 21:45:28 +02:00
David Williams
499db6a185 Changed default shader to use normal as RGB (more useful for debugging). 2014-05-25 21:43:37 +02:00
David Williams
22869e4861 More tweaks to scaling and translation. 2014-05-25 21:36:41 +02:00
David Williams
b63a09cab3 Changing the way the examples handle translation and scaling. 2014-05-25 21:29:44 +02:00
David Williams
6738c4fc9e Smooth example now also uses new example OpenGLWidget. 2014-05-25 21:15:20 +02: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
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