Commit graph

124 commits

Author SHA1 Message Date
Anthony J. Thibault
1b3d7fabc8 ResourceCache, NetworkGeometry and Model refactoring and optimizations.
* Removed validation logic from Resource class, Qt does this internally and is more
  standards compliant.  This should result in more accurate caching and faster resource
  fetching when cache is stale and validation fails.
* Added loaded and failed slots to Resource class, so it does not have to be polled.

* NetworkGeometry now uses multiple Resource objects to download
  the fst/mapping file and the fbx/obj models.
* NetworkGeometry is no longer a subclass of Resource
* NetworkGeometry now has signals for success and failure, you no longer
  have to poll it to determine when loading is complete (except for textures *sigh*)

Some functionality was removed

* NetworkGeometry no longer has a fallback
* NetworkGeometry no longer loads LODs or has lod logic.
* The number of FBXGeometry copies is greatly reduced.

* Model::setURL no supports fallback URL, delayLoad or retainCurrent option.
  This can result in a pop when switching avatars, and there's no longer a default
  if avatar loading fails.
2015-08-20 18:59:51 -07:00
Sam Gateau
f0f141a2b4 SImple fix to the case of multiple material in a mesh with different opacity 2015-08-06 18:51:44 -07:00
Sam Gateau
dc10f30d3d Merged 2015-07-23 15:10:42 -07:00
Sam Gateau
a561874ce3 Render the rear view mirror in a separate target and then display it during overlay pass 2015-07-23 14:56:14 -07:00
ZappoMan
c2113ea96b remove non-batch versions of GeometryCache renderXYZ() methods 2015-07-23 07:42:58 -07:00
Brad Davis
d68618e206 Removing GL headers from most files, and some naked GL from application.cpp 2015-07-18 00:46:09 -07:00
David Rowe
c46533d9a6 Make renderGrid handle changing position and dimensions
So that audio scope grid moves when Interface window is resized.
2015-07-16 21:05:14 -07:00
ZappoMan
d19c7125da remove naked gl calls 2015-07-14 16:49:43 -07:00
Sam Gateau
c41ebcae78 Covering all the case for rendering the light passes 2015-06-26 15:40:08 -07:00
Brad Davis
1b44c220a7 Prep work for procedural stars & stuff 2015-06-22 09:43:12 -07:00
Brad Davis
00d8fe75ab Breaking up overlay into rendering and compositing classes 2015-06-13 17:36:08 -07:00
Brad Davis
737e418878 Revert "Revert "Merge pull request #5106 from jherico/render_cursor""
This reverts commit 0cdc2b53fe.
2015-06-13 10:02:54 -07:00
ZappoMan
0cdc2b53fe Revert "Merge pull request #5106 from jherico/render_cursor"
This reverts commit 4d18bd7cec, reversing
changes made to 24fda9a733.
2015-06-12 12:57:24 -07:00
Brad Davis
94c414e4e8 Add unit quad, commonly used in compositing the overlays 2015-06-10 08:12:58 -07:00
Atlante45
c0725813b6 typo 2015-05-25 12:11:24 +02:00
Ryan Huffman
776955b040 Move GeometryCache gl* calls to non-batch methods 2015-05-15 15:21:02 -07:00
Ryan Huffman
5abd4bb08e Update GeometryCache to accept gpu::Batch 2015-05-15 15:20:50 -07:00
Anthony J. Thibault
ede42285b1 Improvements to particle entity.
* Changed particle geometry to billboarded quads
* Added texture support
* Added ajt-test.js particle test script.
* GeometryCache support for batched quads with texCoords.
* Bug fix for infinite loop if _lifetime was very large.
* Don't reset the simulation on animation loop.
* stop emitting particles on animation stop, but keep simulating until there are no more living particles.
* Removed some trailing whitespace
2015-05-10 17:13:46 -07:00
Atlante45
ab9d81b5e2 Correct comments 2015-04-28 18:09:09 +02:00
Seth Alves
7da87d6e15 set up a way to request ResourceCache downloads from a non-networking thread. 2015-03-26 18:37:55 -07:00
Seth Alves
069c358aa3 Work around a deadlock:
thread 15 locks Octree
thread 1 blocks waiting for Octree lock
thread 15 tries to pass a message to thread 1 with QMetaObject::invokeMethod, and hangs

thread 15 is blocked on qt message passing to thread 1
  ResourceCache::getResource                       libraries/networking/src/ResourceCache.cpp:57
  GeometryCache::getGeometry                       libraries/render-utils/src/GeometryCache.cpp:1774
  ModelEntityItem::isReadyToComputeShape           libraries/entities/src/ModelEntityItem.cpp:431
  PhysicsEngine::addEntityInternal                 libraries/physics/src/PhysicsEngine.cpp:67
  EntitySimulation::addEntity                      libraries/entities/src/EntitySimulation.cpp:129
  EntityTree::postAddEntity                        libraries/entities/src/EntityTree.cpp:91
        ^ locks simulation
  EntityTreeElement::readElementDataFromBuffer     libraries/entities/src/EntityTreeElement.cpp:773
  Octree::readElementData                          libraries/octree/src/Octree.cpp:301
  Octree::readElementData                          libraries/octree/src/Octree.cpp:354
  ...
  Octree::readBitstreamToTree                      libraries/octree/src/Octree.cpp:439
  OctreeRenderer::processDatagram                  libraries/octree/src/OctreeRenderer.cpp:136
        ^ lockForWrite Octree::_lock
  OctreePacketProcessor::processPacket             interface/src/octree/OctreePacketProcessor.cpp:91
  ReceivedPacketProcessor::process                 libraries/networking/src/ReceivedPacketProcessor.cpp:51

thread 1 is blocked on lockForWrite of Octree::_lock
  Octree::lockForWrite                             libraries/octree/src/Octree.h:292
  EntityTree::update                               libraries/entities/src/EntityTree.cpp:668
        ^ lockForWrite on Octree:_lock
  EntityTreeRenderer::update                       libraries/entities-renderer/src/EntityTreeRenderer.cpp:258
  Application::update                              interface/src/Application.cpp:2189
        ^ calls _physicsEngine.stepSimulation() before this
  Application::idle                                interface/src/Application.cpp:1535
  timer
2015-03-17 11:38:42 -07:00
Seth Alves
3a3e723f4e trying to figureo out where to download hull models 2015-03-11 14:26:30 -07:00
Seth Alves
858d15d0ba obj reader sort-of works 2015-03-06 13:15:53 -08:00
David Rowe
21f12c1d6c Use cache ID when rendering talk bubble sphere 2015-02-26 13:50:43 -08:00
Brad Hefta-Gaub
9a7ed8055f Merge pull request #4267 from samcake/master
Fix performance bug for NetworkGeometry::isLoadedWithTextures() and glTransform removal
2015-02-11 09:45:29 -08:00
Sam Gateau
b9fd116dbf Introduce a cache bit in networkGemometry to capture the status of texture LOaded and avoid requiring everything once everything is loaded and get rid of the Transform stack calls on gl from gpu 2015-02-10 18:38:48 -08:00
ZappoMan
8016fb5e0d fix color issues with quads 2015-02-10 17:35:27 -08:00
ZappoMan
418b97a648 attempt to get color working for 3d textured quads 2015-01-29 12:04:34 -08:00
ZappoMan
87e91a5a94 Revert "attempt to get color working for 3d textured quads"
This reverts commit 0f390a98b8.
2015-01-29 11:44:36 -08:00
ZappoMan
0f390a98b8 attempt to get color working for 3d textured quads 2015-01-29 10:50:13 -08:00
ZappoMan
5d2df7b03f implement color for dashed lines 2015-01-28 18:51:23 -08:00
ZappoMan
efb044ea5e change renderDashedLine() to take a color paramter 2015-01-28 15:08:59 -08:00
ZappoMan
7bd45ba0ca change removing more glColor calls 2015-01-28 14:52:33 -08:00
ZappoMan
e7742351b7 get sizing for spheres to work properly 2015-01-27 20:30:58 -08:00
ZappoMan
9152865116 first cut at supporting streamized spheres 2015-01-21 16:56:41 -08:00
ZappoMan
4c9b7f46a2 cleanup 2015-01-21 10:03:25 -08:00
ZappoMan
44b48bab5e remove some dead code we don't use 2015-01-19 18:15:47 -08:00
ZappoMan
2b2bd3cb47 more work on renderGrid with color 2015-01-19 18:08:34 -08:00
ZappoMan
0ae695ecf3 first cut at renderGrid with color 2015-01-19 16:54:43 -08:00
ZappoMan
bddb7856af more work 2015-01-19 13:34:09 -08:00
ZappoMan
439a1c0495 solid cube now streamizing 2015-01-15 18:46:44 -08:00
ZappoMan
daafa20ec6 first cut at moving wire cube to support gpu streams 2015-01-15 17:00:08 -08:00
ZappoMan
149f365410 fix colors for renderBevelCornersRect() 2015-01-15 11:55:45 -08:00
ZappoMan
72f2e6f3aa work on colored quads 2015-01-15 11:37:53 -08:00
ZappoMan
db94949649 Merge branch 'master' of https://github.com/highfidelity/hifi into gpuStreamizing
Conflicts:
	interface/src/avatar/SkeletonModel.cpp
2015-01-14 17:55:03 -08:00
ZappoMan
e6388a65b9 rough pass at adding color to geometry cache 2015-01-13 20:53:05 -08:00
Atlante45
38729c5790 Made dependencies inherit from Dependency 2015-01-13 20:38:01 -08:00
Atlante45
2a82ff9768 Merge branch 'master' of https://github.com/highfidelity/hifi into applications_diet_cpp11
Conflicts:
	assignment-client/src/voxels/VoxelServer.cpp
	interface/src/Application.cpp
	interface/src/Audio.cpp
	interface/src/DatagramProcessor.cpp
	interface/src/Menu.cpp
	interface/src/Util.cpp
	interface/src/avatar/MyAvatar.cpp
	interface/src/ui/ApplicationOverlay.cpp
	interface/src/ui/PreferencesDialog.cpp
	libraries/networking/src/NodeList.cpp
	libraries/shared/src/DependencyManager.h
2015-01-13 11:03:14 -08:00
ZappoMan
17e48554d8 implement support for proper cleanup in BatchItemDetails 2015-01-09 15:06:11 -08:00
ZappoMan
a03c2b79fa first cut at adding colors to GeometryCache and supporting batch internally 2015-01-08 15:52:33 -08:00
ZappoMan
ac1f7c9a84 multi-mode renderVertices 2015-01-06 09:52:27 -08:00
ZappoMan
570607c044 renderLines 2015-01-06 08:58:41 -08:00
ZappoMan
0606861b66 dashed lines in GeometryCache 2015-01-05 21:45:17 -08:00
ZappoMan
a9b7367fa9 more work on eliminating immediate mode calls 2015-01-05 20:51:05 -08:00
ZappoMan
9545bd1907 add alternate renderGrid for audio scope 2015-01-05 19:34:37 -08:00
ZappoMan
a20fa1242d first cut are removing immediate mode GL_LINES 2015-01-05 15:46:48 -08:00
ZappoMan
c2d45df541 add renderBevelCornersRect to GeometryCache 2015-01-05 14:39:14 -08:00
ZappoMan
28569836bb rename parameters and reuse previously registered quad if geometry didn't change 2014-12-30 13:24:31 -08:00
ZappoMan
be137534b5 first cut at registered quads to reduce copies of constantly changing quads 2014-12-30 12:38:16 -08:00
ZappoMan
0790bd77b7 almost completely eliminate immediate mode QUADS 2014-12-24 11:14:50 -08:00
ZappoMan
1f307e9667 more work on removing immediate mode GL_QUADS 2014-12-23 09:50:38 -08:00
ZappoMan
3d42d532e4 more work on removing immediate mode GL_QUADS 2014-12-22 17:43:02 -08:00
ZappoMan
14458ac8fd first pass at removing immediate mode GL_QUADS 2014-12-22 13:47:18 -08:00
Atlante45
327daacecd Merge branch 'master' of https://github.com/highfidelity/hifi into applications_diet_cpp11
Conflicts:
	interface/src/Application.cpp
	interface/src/devices/OculusManager.cpp
	libraries/networking/src/NodeList.cpp
2014-12-22 13:34:18 -08:00
Atlante45
296c0025de Switched to auto and changed macro 2014-12-18 15:42:38 -08:00
ZappoMan
26bcca95c9 remove glutWireCube() 2014-12-18 15:42:02 -08:00
ZappoMan
11b4400099 move all glut-ness to geometry cache 2014-12-18 11:20:17 -08:00
ZappoMan
ef42203481 add wire cube implementation to GeometryCache and DeferredLightingEffect 2014-12-17 15:58:52 -08:00
Atlante45
ce7f72d2cd Update macro 2014-12-17 15:26:47 -08:00
Atlante45
11a2ecab56 Merge branch 'master' of https://github.com/highfidelity/hifi into applications_diet
Conflicts:
	interface/src/Application.cpp
	interface/src/Application.h
	interface/src/Menu.cpp
	interface/src/entities/EntityTreeRenderer.h
	interface/src/ui/ApplicationOverlay.cpp
	libraries/render-utils/src/GlowEffect.cpp
	libraries/render-utils/src/Model.cpp
2014-12-16 15:02:37 -08:00
ZappoMan
49cacd85bd move GeometryCache to library 2014-12-15 14:00:41 -08:00
ZappoMan
3de3540ebe move back into interface for now 2014-12-15 08:37:33 -08:00
ZappoMan
4ac673fe63 more render util cleanup 2014-12-15 08:16:42 -08:00
ZappoMan
2df4c017f1 move GeometryCache out of application and remove dependency on Model 2014-12-15 08:15:55 -08:00
Renamed from interface/src/renderer/GeometryCache.h (Browse further)