ZappoMan
93a8e1782d
cleanup
2013-07-30 12:13:45 -07:00
ZappoMan
c7e3fe5ef6
Added false colorization by voxel server source
...
- switched readBitstreamToTree() to take params struct for future expansion
- switched readNodeData() to take params for future expansion
- added sourceID to VoxelNode
- fixed false colorize routines to correctly redraw by marking tree as dirty
2013-07-30 11:08:48 -07:00
ZappoMan
1a73485e36
Improved VoxelNode delete callback based on CR feedback
...
- changed hooks to use a virtual base class approach
- switched account of hooks to use a vector instead of home grown solution
- added support for VoxelNode to know what VoxelSystem it belongs to
2013-07-29 15:30:30 -07:00
ZappoMan
03a75ab295
fixed spacing
2013-07-29 13:08:05 -07:00
ZappoMan
97aaa738c3
fixed typo
2013-07-29 13:07:12 -07:00
ZappoMan
d6428a8145
removed unneeded cast
2013-07-29 13:03:42 -07:00
ZappoMan
4cca7e2572
Fixed issue with freeing up abandoned VBO slots when not moving with animation
2013-07-26 11:44:19 -07:00
ZappoMan
0c95dc4adf
Fixed voxel trails from animations
...
- removed stageForDeletion behavior of VoxelNode
- replaced with VoxelNodeDeletionHook strategy
- VoxelSystem now cleans up previously used VBO index slots via hook
2013-07-26 11:12:48 -07:00
Stephen Birarda
1b48d4f0fc
revert removal of extraneous newlines
2013-07-16 12:46:32 -07:00
Stephen Birarda
89d3cfdb6f
remove now extraneous newlines after switch to QDebug
2013-07-16 11:16:51 -07:00
Stephen Birarda
afe49bc756
switch calls to printLog to QDebug
2013-07-16 11:07:22 -07:00
ZappoMan
f415f4081a
Fixed a bug in LOD boundaries
...
- changed the way we calculate whether or not to render a parent "average" voxel so
that if any of it's most distant child would not be visible, then it's used instead
of it's children
- added precalculated value for topFarLeft corner of AABox (optimization)
- changed VoxelSystem::newTreeToArrays() and VoxelTree::encodeTreeBitstreamRecursion()
to use the same help function for determining this LOD boundary behavior
- deleted old dead code in voxel-server and VoxelTree for picking which node to start
sending with, since it wasn't being used
- added VoxelNode::furthestDistanceToCamera() which tells you not the distance to the
center of the voxel, but the distance from the camera to the furthest corner relative
to the camera.
- added ViewFrustum::getFurthestPointFromCamera() which given an axis-aligned box will
tell you which vertex of the box is furthest from the camera
2013-07-15 01:32:14 -07:00
ZappoMan
c26e39764a
Merge branch 'master' of https://github.com/worklist/hifi into occlusion_culling
2013-07-11 13:50:33 -07:00
Stephen Birarda
38a33e0283
couple more type squishes
2013-07-11 11:11:39 -07:00
Stephen Birarda
fcb8865d2e
resolve conflicts on merge with upstream master
2013-07-11 10:58:45 -07:00
ZappoMan
04cd340f0b
add back in correct isViewChanging()
2013-07-11 10:50:17 -07:00
Stephen Birarda
beb89e3d2b
change some timing types from int to uint64_t to avoid costly assumptions
2013-07-11 10:09:00 -07:00
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