Commit graph

152 commits

Author SHA1 Message Date
Sam Gateau
d6e771f01d Adding the batch as aprameter to the custom pipeline register to be able to make program through a call to runLamda in order to perform the make call in the present thread where the gl context is valid 2018-01-13 10:02:53 -08:00
Olivier Prat
814de4ab81 Scribe now outputs shaders as cpp files. 2018-01-12 11:59:19 +01:00
SamGondelman
e9d751fd23 try to avoid reusing uniform buffer locations 2018-01-10 17:01:01 -08:00
Brad Hefta-Gaub
18a74cea91 Merge pull request #11659 from zfox23/mergeRC57IntoMaster_20171023
2017-10-23: Merge RC57 into Master
2017-10-24 21:19:01 -07:00
Bradley Austin Davis
4f5851f420 Reducing needless render updates 2017-10-23 15:31:25 -07:00
Seth Alves
f2cb5d4aff clean-up concept of puffed queryAACube 2017-10-19 13:19:13 -07:00
Bradley Austin Davis
37b184d982 Fix crashes in entity rendering on OSX 2017-09-07 14:32:50 -07:00
Brad Davis
e817d3ced4 Threaded rendering & entity rendering refactor 2017-08-24 13:34:34 -07:00
Sam Gateau
49779754ff Remove unecessary shaders and apply the custom shader pipeline to polyvox 2017-07-12 15:50:06 +02:00
Sam Gateau
98cc8c0683 Refining the custom shader pipeline design and registration mechanism 2017-07-12 14:13:58 +02:00
Sam Gateau
c3dd25e499 Drafting the mechanism to add shape pipeline 2017-07-07 18:26:10 +02:00
Brad Davis
fece438602 Cleanup and refactoring 2017-06-15 18:58:56 -07:00
samcake
9c1e99fe3f Removing cruft and organizing the stencil config 2017-06-01 13:06:22 -07:00
Andrew Meadows
31bfc98b87 use const reference for ScenePointer when possible 2017-04-18 11:52:22 -07:00
samcake
6122155880 Renaming the PendingCHanges class to Transaction 2017-04-05 13:10:31 -07:00
Brad Davis
9509e32928 PR feedback 2016-05-14 08:28:51 -07:00
Zach Pomerantz
4e3ab73941 layout std140 in particle shader 2016-04-07 17:27:51 -07:00
samcake
1c53f9bc87 Fix the cleanup of the render::Item::ID in the EntityITem Rendereable wich were often not invalidated after beeing removed from the scene. THis caused a bug with particule system when beeing added /removed / updated quickly 2016-02-23 10:40:50 -08:00
samcake
6922c9adf0 updating all the entity types when their bound is changing 2016-02-10 16:41:09 -08:00
Atlante45
11dc3cd261 Move primitive rendering out of DeferredLightingEffect 2016-01-13 11:47:43 -08:00
Seth Alves
bfa8cc1969 merge from upstream 2016-01-03 06:47:25 -08:00
ericrius1
fdb909ca31 merged 2015-12-22 09:40:42 -08:00
Seth Alves
76df582a6c Merge branch 'master' of github.com:highfidelity/hifi into near-grab-via-parenting 2015-12-21 14:29:32 -08:00
samcake
aef748b894 Adding linear color in Particule system 2015-12-21 10:40:29 -08:00
ericrius1
2aaefbcfcb refactoring, adding headers 2015-12-17 11:32:48 -08:00
ericrius1
dca83a054e Changed additiveBlending to emitterShouldTrail 2015-12-15 10:30:57 -08:00
ericrius1
c561a53f7c Going to change additive blending to world position prop 2015-12-15 09:56:28 -08:00
Seth Alves
008065ba38 Merge branch 'master' of github.com:highfidelity/hifi into near-grab-via-parenting 2015-12-14 09:15:56 -08:00
Seth Alves
c74f8bca49 location getters also return a success boolean so that callers can know if the value they are receiving is bad due to lack of information about an object's parent 2015-12-14 09:13:36 -08:00
Atlante45
ce51350b65 Fix warnings on windows 64bit 2015-12-11 15:42:15 -08:00
Atlante45
03ee07c8b7 Merge branch 'master' of https://github.com/highfidelity/hifi into particle 2015-12-10 13:37:20 -08:00
James B. Pollack
4e93f3ae81 respect visibility yay 2015-12-09 18:26:13 -08:00
James B. Pollack
b4c272aaa1 sam just left 2015-12-09 17:28:45 -08:00
Atlante45
1d513cfbba Merge branch 'master' of https://github.com/highfidelity/hifi into particle 2015-12-09 15:09:19 -08:00
Brad Hefta-Gaub
d07629489c Merge pull request #6543 from Atlante45/pointer
gpu::Shader::create* return shared_ptr
2015-12-04 11:17:02 -08:00
Atlante45
bd23a4137e Move toGlm to GLMHelpers 2015-12-03 15:01:17 -08:00
Atlante45
9c5486fb4b More particle work 2015-12-03 15:01:17 -08:00
Atlante45
3da80f5861 gpu::Shader::create* return shared_ptr 2015-12-03 14:56:07 -08:00
Atlante45
2dd494b5df Remove additive blending option (force it) 2015-11-24 11:51:56 -08:00
Atlante45
4827a96bfa Fix vertex shader (nested struct unsupported) 2015-11-24 11:51:56 -08:00
Atlante45
9adc437553 Make Particle's Payload/PendingChanges *almost* pointer free 2015-11-24 11:51:56 -08:00
Atlante45
0f316e6ae1 Remove particles emiter bounds compute 2015-11-24 11:51:56 -08:00
Atlante45
2cb2ca29e6 More particle shader work 2015-11-24 11:51:56 -08:00
Atlante45
e25ea122d8 Start moving update to shader 2015-11-24 11:51:56 -08:00
Atlante45
61511d57bb Rename struct/Add type aliases 2015-11-24 11:51:56 -08:00
Atlante45
ca17c75631 Save one array traversal 2015-11-24 11:51:56 -08:00
Atlante45
cb14fbf4a1 Instance particle draw calls 2015-11-24 11:51:56 -08:00
Atlante45
230a413ec1 First pass at new particle shader 2015-11-24 11:51:56 -08:00
Atlante45
964ac5bad6 More cleanup 2015-11-24 11:51:56 -08:00
Atlante45
c33b6205a8 Some cleanup 2015-11-24 11:51:56 -08:00
Atlante45
40e802bae7 Get rid of global variable for sort
Fix rhs/lhs
2015-11-24 11:51:56 -08:00
Atlante45
395822c6cd Use make_shared 2015-11-24 11:51:56 -08:00
Atlante45
a71ed7b166 Implement particle bounds with Extents 2015-11-24 11:51:56 -08:00
Seth Alves
4646c0c103 unmangle merge 2015-11-21 10:49:31 -08:00
Seth Alves
f013f95e9b merge from upstream 2015-11-21 08:43:00 -08:00
Seth Alves
f07d5d9d3f show network and physics status on boxes and spheres 2015-11-11 11:32:12 -08:00
Seth Alves
39b92d2b52 terse log when ownership changes 2015-11-10 17:06:12 -08:00
Brad Hefta-Gaub
0ea901fd72 fix various warnings 2015-11-10 08:34:58 -08:00
ericrius1
af0c0e6a1b spacing fix 2015-11-03 17:32:22 -08:00
ericrius1
31fe5fa953 Bump version num, use different shader for additive blending effect 2015-11-03 17:15:10 -08:00
ericrius1
470f814776 Fixed glitches with large particles being sorted along wrong axis 2015-11-03 16:39:16 -08:00
ericrius1
0c8a712935 removed comment 2015-11-03 15:36:11 -08:00
ericrius1
0ed868077d Added additive blending as option for particle effect 2015-11-03 10:02:51 -08:00
ericrius1
f57f3c1138 Disabled writing to depth buffer for particles and no longer sorting the, 2015-11-02 15:25:42 -08:00
Seth Alves
61269c3ce8 fix up entity constructors so that setProperties isn't called during the constructor 2015-10-23 13:52:50 -07:00
Seth Alves
d86d69aeba keep track of children. use local position and orientation on the wire. 2015-10-22 15:36:03 -07:00
Atlante45
75f0a6442f ModelEntities spawned with no dimension autoresize 2015-10-09 12:23:19 -07:00
David Rowe
a2c7b3bcc9 Orient particles to face camera but not roll with it 2015-09-23 17:00:07 -07:00
Brad Hefta-Gaub
152a86b0e9 Merge pull request #5735 from hyperlogic/tony/no-particle-fix
Fix for RenderableParticleffectEntityItem assert.
2015-09-08 15:13:38 -07:00
Anthony J. Thibault
c728cd4c4c Fix for RenderableParticleffectEntityItem assert.
When a particle system had no living particles, PendingChanges::updateItem
would assert, due to the access to _vertices[0].  In release this might be
harmless as this memory is never accessed, but different implementations of
std::vector might do different things here.  So, let's be safe and early
return when the number of particles is 0.
2015-09-08 12:03:41 -07:00
David Rowe
cb9468c311 Add colorSpread entity particle property 2015-09-07 16:27:42 -07:00
David Rowe
12b8a5a1d5 Add alpha property support to ParticleEffect entities
Add at same "level" as color so that it's available for other entity
types to use in the future.
2015-09-05 10:23:27 -07:00
David Rowe
c910da7179 Add radiusStart and radiusFinish entity particle properties 2015-09-04 12:27:18 -07:00
David Rowe
45ff118249 Add new radiusSpread entity particle property 2015-09-03 14:55:08 -07:00
Brad Hefta-Gaub
7b2f944f48 Merge pull request #5561 from ericrius1/particleExtensions
Extended Particle entity to allow for more varied effects
2015-08-27 10:45:03 -07:00
Anthony J. Thibault
47b8ab373c Fix for RenderableParticleEffectEntity crash.
The render item payload now keeps a shared_ptr to the entity.
2015-08-24 11:15:30 -07:00
ericrius1
5fa27a7cf1 added back computeAndUpdate mmethod for particles, and now handling parsing old streams 2015-08-24 10:59:38 -07:00
ericrius1
b8a6105a03 Merge branch 'master' into particleExtensions 2015-08-14 08:56:59 -07:00
ericrius1
81844a82e8 fixed spacing issues and removed dead line 2015-08-12 16:25:56 -07:00
ericrius1
36ca0c54fc acceleration spread working properly 2015-08-12 16:13:00 -07:00
ericrius1
16279bd415 emitters trail particles now 2015-08-12 14:01:42 -07:00
ZappoMan
c15161b71a fix crash in Particle Entities and pendingChanges.updateItem() 2015-07-28 14:56:38 -07:00
Anthony J. Thibault
5844b594dc Converted magic numbers to constants. 2015-07-27 09:27:16 -07:00
Anthony J. Thibault
5cc0b45850 Improved ParticleEffectEntityItem rendering and updates
* Created custom pipelines and shaders for untextured and textured
  particle rendering.
* Created custom render payload for particles
* Moved all particle updates into simulation rather then render.
* Uses pendingChanges.updateItem lambda to update the playload with
  new data for rendering.
* ParticleEffectEntityItem now updates its dimensions properly,
  based on emitter properties.
* Bug fix for dt not accumulating properly, during gaps between updates.
  now we just update all the time.  (super cheap tho, if there are no particles
  animating)
2015-07-26 17:21:17 -07:00
Atlante45
59acfc9f47 Merge branch 'master' of https://github.com/highfidelity/hifi into smart_pointers 2015-07-20 13:51:51 -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
Atlante45
256c786e28 Merge branch 'master' of https://github.com/highfidelity/hifi into smart_pointers 2015-07-17 17:59:19 -07:00
Sam Gateau
7fc9fd97ff Replacing setUniformTexture by setResourceTexture in order to differenciate the 2 types of binding points for the BUffers. 2015-07-10 11:03:12 -07:00
Atlante45
7b5a5a339a Use make_shared/create to make shared pointers 2015-07-01 19:46:06 -07:00
ericrius1
70e042085b fixed indentation 2015-06-16 09:11:36 -07:00
ericrius1
67ed1369cc fixed indentation 2015-06-15 15:04:38 -07:00
ericrius1
2663e5a876 correct particle count for systems without textures 2015-06-15 14:43:13 -07:00
eric levin
27c6190665 fixed particles not showing up by fixing billboarding code to account for new winding order 2015-06-15 14:24:18 -07:00
Atlante45
228f8c2e61 Fix a few items rendering without pipeline 2015-06-12 17:34:16 +02:00
ZappoMan
9988f2d1cd EnitityItem smart pointers 2015-05-22 22:38:02 -07:00
Atlante45
eef87412fd Particles render in Batch 2015-05-19 15:54:19 +02:00
Atlante45
c13ad83cc4 Rename getCenter by get CenterPosition 2015-05-15 18:34:28 +02:00
Anthony Thibault
b3af515224 Particle entity improvements based on code review.
* Updated variable naming to match coding standards.
* Changed particle raw float arrays to vectors.
* Bug fix: changing maxParticles will no longer lead to memory corruption.
* Made particle ring buffer more explicit, added _particleTailIndex.
* Added getLivingParticleCount() private method.
* Moved integration and bounds code into private methods.
* Bug fix: high emit rates now properly integrate particles forward for the
  remaing frame time, not the entire frame.
* Bug fix: new particles were not initiaized to origin.
* Added more particles to ajt-test.js.
* Bug fix: ajt-test.js script was not shutting down properly.
* Removed random seed, unless we have a psudo random number generator per
  particle system instance, it's unlikely that this will preserve sync.
* Bumped packet version number.
2015-05-11 19:21:33 -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
Andrew Meadows
e418872f7b namechanges: setFooInMeters() --> setFoo()
also fixed some warnings, made code abide to standard,
and moved some variables to be closer to where they're used
2015-03-09 09:56:15 -07:00