summaryrefslogtreecommitdiff
path: root/src/shader-node.c
AgeCommit message (Collapse)Author
2022-12-29plasma-node,shader-node: break out maga plasma shaderrev4Vito Caputo
Performing the maga branch in the shader slows things down considerably. This commit gets rid of the in-shader branch by splitting the plasma fragment shader into maga and non-maga variants. This required adding shader vector support to shader-node so multiple shaders could be supplied, with a selector index pointer used to pick which is used by the render function.
2022-12-29shader: return shader from shader_ref()Vito Caputo
trivial ergonomics improvement
2022-11-10libstage: bump libstage for new render_funcVito Caputo
Newer libstage enables the render_func to free its stage node via return value. This is useful for fire-and-forget style ephemeral nodes that make for convenient autonomous stage nodes which remove themselves after running their course. Think bonus scores and little visual effects... Requires some mechanical changes to the existing render funcs, but nothing functionally has really changed.
2020-04-19src: implement a game for Blender 2020Vito Caputo
The theme of this Blender was: Monkeys / Rescuing / Between Realities With all the COVID-19 stuff going on, it seemed like a fun way to lighten things up a bit to make something where a monkey runs around trying to rescue child monkeys from coronaviruses moving across the playfield. In keeping with the theme, to rescue the helpless monkeys you take them to a different reality by carrying them off the window/screen. As infections increase the field becomes crowded with viruses until your player becomes infected through contact, ending your game. This was written quickly kamikaze style overnight. Some scaffolding bits came from past projects of mine like the vector headers, shader and texture node building blocks, and the plasma effect has been used a few times now and originally was derived from some gpu programming tutorial if memory serves. I just wanted to put something in the background for this strange reality. This is the first time I've used libplay, in fact, it was basically slapped together last night at the start of this to avoid having to do all that SDL initialization all over again. The unique meat of this work is in game.c, there isn't really all that much to this game though. It's not pretty code, but it works well enough and this task served as a useful exercise of trying to get some quick game dev done using this collection of facilities. Most the heavy lifting comes from my reused libraries which are slowly evolving into something somewhat effective for simple game development. Enjoy, and happy hacking!
© All Rights Reserved