]>
Witch of Git - lovr-particles/blob - main.lua
1 local mat4
= lovr
.math
.mat4
9 features
= lovr
.graphics
.getFeatures()
10 shaders
.particles
= lovr
.graphics
.newShader("shaders/particles.vert", "shaders/particles.frag")
11 blocks
.particles
= lovr
.graphics
.newShaderBlock("compute", {
12 particlePos
= {"vec4", 1024},
13 }, { readable
= true, writable
= true })
14 shaders
.particles
:sendBlock('particleData', blocks
.particles
)
15 meshes
.particle
= lovr
.graphics
.newMesh(
17 {'vertPosition', 'float', 2},
19 {{1, 1}, {1, -1}, {-1, -1}, {-1, 1}},
22 meshes
.particle
:setVertexMap({3, 2, 1, 4, 3, 1})
27 lovr
.graphics
.setColor(0, 0.5, 1)
28 local x
, y
, z
= lovr
.headset
.getPose("head")
29 shaders
.particles
:send("headPos", {x
, y
, z
})
31 blocks
.particles
:send("particlePos", {{0, 2, -2, 0}, {-1, 1, -4, 0}})
32 lovr
.graphics
.setShader(shaders
.particles
)
33 meshes
.particle
:draw(mat4(), 2)