is presently its sole maintainer,
You can support him:
Recap and set the stage for the day
Run the game and note that entities may now have a particle system attached to them
Look in the art pack for some particle art
handmade_particles.cpp: Move in the existing particle system code from handmade_world_mode.cpp
Blackboard: Particle Efficiency
Blackboard: Texture Atlases
Blackboard: Texture Arrays
Determine to use a texture atlas for the particle system
handmade_particles.h: Change the data in the particle_system struct to use SIMD registers, with a few words on vectorising
handmade_particles.cpp: Introduce PlayAround() and rework it to operate on our SIMD data
handmade_particles.cpp: Introduce MMSetExpr() and continue implementing PlayAround()
Note that we can't do the Lagrangian grid four-wide without upping the minimum system requirements to AVX-512
handmade_particles.cpp: Forego the grid for now and continue implementing PlayAround()
handmade_particles.cpp: Introduce operator+() and operator*() to operate on __m128 registers for PlayAround() to use
handmade_particles.h: Introduce particle_v3 struct in order to simplify the operations in PlayAround()
handmade_particles.h: Introduce particle_v4 struct
handmade_particles.h and *.cpp: Introduce particle struct and GetParticle() for PlayAround() to use
handmade_particles.h: Introduce v3_4x and versions of operator+=(), operator*() and operator+() to operate on and return those
mmozeiko Q: On MSVC it is possible to create non-member inline operator += for __m128. It is done in same way as you did for v2/v3/v4 types. But for gcc / clang you cannot do += for __m128, because they already have it builtin operator
handmade_particles.h: Tweak &operator+=()
soysaucethekid Q: Instead of doing the particle_v3 struct, could you accomplish the same thing with macros and some pointer math?
phort99 Q: How much of your time would you say you spend refactoring as compared to writing new code?
a_pulsing_mage Q: Have you changed the way the particles look? If so, please show them
macielda Q: Do you often write code using SIMD without a non-SIMD implementation of the same operation?
phort99 Q: If JAI releases before the end of this project and is good enough, would you ever consider rewriting the project in JAI, or is the project too big and the gains too small?
macielda Q: Is it hard to debug SIMD in Linux? Have you tried it?
longboolean Q: It would be cool to see a stream or two of a good programmer (you) going through the motions of learning JAI