Commit graph

121 commits

Author SHA1 Message Date
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
Jason
7a5669f14e Interview project updates.
Tried to address all of Brad's notes, most of which were related to
matching the coding style for the project.  Also used GeometryCache
instead of making direct calls to OpenGL to do drawing, took a different
approach to seeding rand(), updated the packet version, and fixed a bug
that I noticed in the setting of the dimensions for the particle effect
entity.
2015-03-06 15:52:21 -08:00
Jason
3522357c8c High Fidelity interview project -- Jason Rickwald
For my project, I decided to add a new entity -- a Particle Effect.
This is really rudimentary to start out with, but you could see where
it's headed.
2015-03-04 16:06:06 -08:00