Commit graph

241 commits

Author SHA1 Message Date
Stephen Birarda
4ed231670f put back the missing voxels 2013-07-11 10:04:27 -07:00
Stephen Birarda
211204e878 Merge remote-tracking branch 'upstream/master' into timestamps 2013-07-11 09:23:16 -07:00
ZappoMan
1831cc0de3 removed level param from recursion 2013-07-10 17:06:22 -07:00
Stephen Birarda
ca8f25955a switch usec timestamps to uint64_t 2013-07-10 11:46:48 -07:00
ZappoMan
44357fcfb9 add 'level' param to tree recursion 2013-07-09 13:17:21 -07:00
Stephen Birarda
c64a961a38 packet version handling in VoxelSystem parseData 2013-07-08 14:01:10 -07:00
Stephen Birarda
5062ae8965 rename PACKET_HEADER to PACKET_TYPE, fix DS packet versioning 2013-07-08 11:37:39 -07:00
ZappoMan
c0d14d2bd4 Merge branch 'master' of https://github.com/worklist/hifi into occlusion_culling 2013-07-03 15:36:41 -07:00
ZappoMan
2d6e522c35 debug stats 2013-07-03 10:59:36 -07:00
Stephen Birarda
36c6912de8 your agents are now nodes 2013-07-03 10:35:09 -07:00
ZappoMan
1e19748a1a Merge branch 'master' of https://github.com/worklist/hifi into occlusion_culling 2013-07-02 15:52:49 -07:00
tosh
f062319c2b introduces named constants for bandwidth meter channel indices / max. drag length 2013-07-02 03:53:49 +02:00
ZappoMan
c7e691a010 cleaned up CoverageMapV2 recursion code, fixes crazy false occlusion 2013-06-29 00:15:57 -07:00
ZappoMan
73ad854235 latest version of quadtree coverage map 2013-06-28 22:05:32 -07:00
tosh
290c20bfc7 introduces bandwidth meter / dialog 2013-06-22 04:22:10 +02:00
ZappoMan
4590bdc69d added support for clipping polygons to screen bounds, not yet enabled since it doesn't help performance, will use in future 2013-06-21 16:42:55 -07:00
ZappoMan
cadd596508 implement partitioned CoverageRegions in CoverageMap to further optimize polygon compares 2013-06-19 17:52:01 -07:00
ZappoMan
1284f9d09a naming cleanup and some optimizations 2013-06-19 13:45:13 -07:00
ZappoMan
1fc3ad8011 CR feedback 2013-06-18 12:03:58 -07:00
ZappoMan
8b18ee6844 renamed VoxelProjectedShadow class 2013-06-18 12:01:01 -07:00
ZappoMan
620a4a8ad6 latest occlusion culling with support for checking map without adding to coverage map for checking parent nodes 2013-06-13 16:37:14 -07:00
ZappoMan
8320925add Merge branch 'master' of https://github.com/worklist/hifi into occlusion_culling 2013-06-13 13:30:18 -07:00
Andrzej Kapolka
db729a04aa Converted double timestamps to long long (64 bit integers), fixed bug with
updating agent timestamps.
2013-06-13 11:11:59 -07:00
ZappoMan
b8e51943ab make sure position is in voxel units NOT TREE_SCALE 2013-06-12 21:45:45 -07:00
ZappoMan
627f61badb some debug changes for testing occlusion culling 2013-06-12 12:36:28 -07:00
ZappoMan
e2d22a8e21 latest cut at occlusion culling 2013-06-12 01:16:46 -07:00
ZappoMan
ac7fbc6320 added occlusion tests to debug menu 2013-06-11 13:29:01 -07:00
Andrzej Kapolka
27717bfcd4 Removed unused variables. 2013-06-06 10:48:35 -07:00
Andrzej Kapolka
d09700adde Merge branch 'master' of https://github.com/worklist/hifi into voxeltars
Conflicts:
	interface/src/Avatar.cpp
	interface/src/Avatar.h
	interface/src/Skeleton.h
	interface/src/VoxelSystem.h
2013-06-04 11:00:59 -07:00
ZappoMan
4f3872c18f CR feedback 2013-06-04 01:13:58 -07:00
Andrzej Kapolka
8d757e148f More work on voxeltars; basic skinning works. 2013-06-02 19:55:51 -07:00
Andrzej Kapolka
6c975f9c6f More work on avatar voxels. 2013-06-01 15:06:29 -07:00
Andrzej Kapolka
7425b39237 Working on avatar voxel system. 2013-05-31 17:55:30 -07:00
Andrzej Kapolka
e4bc7af6b4 Working on avatar voxels. 2013-05-31 14:52:29 -07:00
ZappoMan
b0397e8eb9 Merge branch 'master' of https://github.com/worklist/hifi into copy_and_paste_voxels 2013-05-30 21:41:55 -07:00
ZappoMan
46c6f2f9b5 latest copy paste 2013-05-29 15:02:28 -07:00
ZappoMan
c70ade0cc1 temporary hack fix to not discarding voxels 2013-05-29 12:14:45 -07:00
ZappoMan
d1d2e75143 first cut at export and import of voxels 2013-05-28 19:00:02 -07:00
ZappoMan
1a2921e3e8 Merge branch 'master' of https://github.com/worklist/hifi into voxel_animation 2013-05-25 15:32:12 -07:00
ZappoMan
60f2b9a438 removed debug 2013-05-25 15:31:28 -07:00
ZappoMan
f6863081f9 Fix Delta Sending mode by not culling out of view voxels until we STOP moving
- added isViewChanging() which determines if the view is currently changing
- made hasViewChanged() report false UNTIL we've stopped moving
- changed setupNewVoxelsForDrawing() to only call removeOutOfView() if we're not moving
2013-05-25 15:29:23 -07:00
Stephen Birarda
36892da488 keep a pointer to owning agent in AgentData 2013-05-24 12:17:34 -07:00
ZappoMan
8560e42357 fix issue with duplicate VBO slots 2013-05-24 12:08:25 -07:00
ZappoMan
06f2528d6a fix crashing on deleting voxels in server and client 2013-05-22 13:23:01 -07:00
Andrzej Kapolka
c7e840e0d4 The end parameter to glDrawRangeElements is inclusive. 2013-05-21 22:36:27 -07:00
ZappoMan
0bcd629c8a Merge branch 'master' of https://github.com/worklist/hifi into voxel_animation 2013-05-21 13:46:04 -07:00
Andrzej Kapolka
597769a861 Added basic capsule/sphere collisions between avatar and voxels. 2013-05-21 12:58:02 -07:00
ZappoMan
7c9be4b9f5 cleanup code 2013-05-21 11:42:13 -07:00
ZappoMan
a7f0a66aee code cleanup 2013-05-21 11:31:47 -07:00
ZappoMan
4f9c7fed59 removed UI for want exists bits, defaults to true 2013-05-21 11:25:50 -07:00
ZappoMan
ef2d27aba6 getting closer to working delete 2013-05-21 10:43:31 -07:00
Andrzej Kapolka
1be859ede9 Use glDrawRangeElements, which indicates the range of used indices. It may or
may not make a difference in performance, but it won't hurt.
2013-05-20 17:14:41 -07:00
ZappoMan
e1c89aac87 Merge branch 'master' of https://github.com/worklist/hifi into voxel_animation 2013-05-20 15:52:04 -07:00
ZappoMan
a53f84fcb9 latest hacking 2013-05-20 15:51:47 -07:00
Andrzej Kapolka
06c78c2f12 Tweak: let the reader know when it needs to load the full VBO. 2013-05-20 15:41:19 -07:00
Andrzej Kapolka
8d522cd3ed I believe the problem with voxel rendering is caused by the update thread's
writing the data while the render thread is attempting to read it.  This
should fix the issue.
2013-05-20 15:15:44 -07:00
ZappoMan
321d1952d6 first cut at exists bits 2013-05-20 12:56:59 -07:00
Andrzej Kapolka
3f0fd2f976 Added toggle for voxel textures; they may be slowing some machines down. 2013-05-20 12:13:23 -07:00
Andrzej Kapolka
0f2f4ee8f9 Add the discussed four lines to disable blending and enable backface culling. 2013-05-20 11:32:32 -07:00
Stephen Birarda
fc0448a148 disallow copying of VoxelSystem objects 2013-05-17 12:32:42 -07:00
Andrzej Kapolka
86ddcea87f Better names for the shaders. 2013-05-16 13:08:21 -07:00
Andrzej Kapolka
0a6b4702c6 Experimenting with simple Perlin noise shader for voxels. 2013-05-15 22:18:56 -07:00
ZappoMan
8dc61d89fc Added support for "destructive" vs "non-destructive" voxel create
- changed VoxelTree to support destructive and non-destructive mode
- added protocol packet headers to differentiate
- added new UI to switch modes
- default mode now, non-destructive.
2013-05-14 14:19:31 -07:00
ZappoMan
b196227385 Added wantResIn and wantColor feature between client and server
- Updated Voxel Server to support non-res-in version of voxel distribution
- Updated agent data to allow client to send desired res-in and color state
- added menu items to client debug menu to toggle wantResIn and wantColor
2013-05-13 15:02:46 -07:00
Andrzej Kapolka
7a653741de Don't set the renderFullVBOs flag; that's not the problem. 2013-05-13 12:30:56 -07:00
Andrzej Kapolka
eb77f5ff83 Removed debug code, more tests for staged-for-deletion. 2013-05-12 20:36:10 -07:00
Andrzej Kapolka
be88fec7d3 Fixed the major bug, which is that non-leaves were being collapsed. Update
full VBO on deletion, since otherwise we don't see the update.
2013-05-12 20:08:01 -07:00
Andrzej Kapolka
9802403749 Let's do some locking to prevent simultaneous access from different threads. 2013-05-11 15:38:49 -07:00
Andrzej Kapolka
750843e867 More editing progress. Now there are threading issues. Joy! 2013-05-10 21:02:08 -07:00
ZappoMan
ddd55104c1 CR feedback 2013-05-10 14:45:18 -07:00
ZappoMan
ef20b3e4b3 optimized performance of VoxelNode::isLeaf() 2013-05-10 14:32:44 -07:00
ZappoMan
322cb2ff23 implemented partial VBOs support in copyWrittenDataToReadArrays() 2013-05-10 13:18:51 -07:00
ZappoMan
3af8a1b8f4 code review fixes 2013-05-10 10:03:28 -07:00
ZappoMan
9dc09de75e make VoxelSystem::deleteVoxelAt() work properly 2013-05-10 09:32:56 -07:00
ZappoMan
4fe93af5cd create and delete voxels locally 2013-05-09 22:22:32 -07:00
ZappoMan
bd3ea6ef65 create and delete voxels locally 2013-05-09 22:20:13 -07:00
ZappoMan
2128cb8bff get rid of dead code 2013-05-09 17:10:25 -07:00
ZappoMan
33fc9f5389 fixed partial VBO updates 2013-05-09 17:01:20 -07:00
ZappoMan
3aa862fa34 removed some debug messages 2013-05-09 14:19:42 -07:00
ZappoMan
c73d4ddfa4 Merge branch 'master' of https://github.com/worklist/hifi into render_voxels_optimization 2013-05-09 14:06:42 -07:00
ZappoMan
f490f3ed53 More work on partial VBO updates still not working 100% correctly 2013-05-09 14:04:08 -07:00
Andrzej Kapolka
7ff8b84f4c Return the box face, as well as the distance, from the ray intersection test.
Use it to determine which voxel neighbor we create when adding.
2013-05-09 10:46:52 -07:00
ZappoMan
655f14121d Voxel Render Optimization - using blended VBO update strategy
- Fixed a bug in updateNodeInArraysAsFullVBO() that caused blended strategy
  to not work properly.
- Implement strategy to usually update only the portion of the VBOs that
  have changed, unless nodes have been removed, and then update the full
  VBO. This siginificantly improves treeToArrays() performance
- Still to do implement partial strategy for copy buffers and update GPU
2013-05-09 10:25:12 -07:00
Andrzej Kapolka
0cff127082 Merge branch 'master' of https://github.com/worklist/hifi 2013-05-09 09:56:58 -07:00
Andrzej Kapolka
785e55e06f Working on voxel editing. 2013-05-09 09:56:35 -07:00
ZappoMan
bb65137b7e Optimized performance of newTreeToArrays() by implementing blended VBO strategy
- Introduced concept of sometimes only updating the new/changed part of the VBO
  while other times updating the full VBO. This allows us to get the speed
  advantage of only partial VBO updates when nodes haven't been removed
- Some debugging output related to _alwaysRenderFullVBO
- added cleanupRemovedVoxels() which actually deletes the nodes that were
  previously removed (fixes a memory leak!!)
2013-05-08 20:33:41 -07:00
ZappoMan
244b4a17f7 lowered voxel count so Ryan can run, and handle too many voxels case slightly more gracefully than crashing 2013-05-08 18:06:13 -07:00
ZappoMan
cb5ccee1e4 CR cleanup 2013-05-08 14:32:55 -07:00
ZappoMan
ed30a03b2e CR cleanup 2013-05-08 14:30:18 -07:00
ZappoMan
70557cd51c Optimized removeOutOfView()
- don't recurse down trees that are fully INSIDE of the view frustum, because those nodes
  are guaranteed to also be INSIDE
- changes to extraData of the recurse operation to make this possible
- adding debug stats to track how many nodes are inside, outside, intersect
- change call to removeOutOfView() to not call if last elapsed time has not
  yet passed since last call (similar to treeToArrays() logic)
2013-05-08 14:24:08 -07:00
ZappoMan
7a5ce57b4e added alwaysDisplay mode to PerformanceWarnings class 2013-05-08 12:01:55 -07:00
ZappoMan
f1425216ba removed VoxelSystem::createSphere() which was dead code 2013-05-08 00:45:27 -07:00
ZappoMan
84da976383 removed _voxelCleanupLock 2013-05-06 16:38:24 -07:00
ZappoMan
f5808f43b5 some cleanup pre CR 2013-05-06 16:24:09 -07:00
ZappoMan
94529d54e8 some cleanup pre CR 2013-05-06 16:16:21 -07:00
ZappoMan
b69c1a3474 some cleanup pre CR 2013-05-06 16:14:10 -07:00
ZappoMan
68d58650a5 removed some debug code 2013-05-06 16:09:21 -07:00
ZappoMan
09923d1c97 second cut at view culling voxels 2013-05-06 15:51:56 -07:00
ZappoMan
7ba9d4aa86 First cut are removing out of view voxels and switch to using PerformanceWarnings 2013-05-06 13:32:09 -07:00
ZappoMan
af6f51527a short circuit shouldRender logic in treeToArrays() 2013-05-05 10:34:09 -07:00