Programming live stream

Hello.

I’ll begun with my comments yesterday in Slack:

"I alluded in some recent forum threads to doing streams… a bit rough (haven’t done anything like this since Corona Geek), but I kind-of sort-of know a bit about OBS now and had a go these last couple of nights (forgot to record the VOD yesterday  :P): Twitch link

Many known issues!  :smiley: Off the top of my head:

  • Streets noises: cars, motorcycles, etc. <_< Maybe I can still tune the noise filters…
  • Forgot to add audio while in the texture image view. Just a silly oversight.
  • Got cut off at the beginning and end; need to allot a little cushion.
  • Should have recorded in a higher resolution.
  • Chat disappears pretty quick.
  • Obviously lots of bells and whistles are missing.

I might play some games too, to lure in stray viewers if nothing else, but I’m leaning toward live-coding being the focus. (This test was rather show-and-tell, but I expect normal fare would involve puttering away on just one or maybe two things.)"

As I mention in the linked video, I plan to begin finishing up that texture tile stuff. I think the end is in sight, so might avoid doing any work on it offline; with larger projects I imagine the streams will be more like development snapshots. I don’t have much of a schedule in mind (especially now), but expect it will mostly be evenings (CST), like this one was.

At the moment I’m thinking of following that stuff with revisiting and / or tinkering with some the engine branch stuff I mention near the end. Maybe some plugin stuff after that.

Lua, C++, and shader stuff is all on the table. Probably a lot of math, too, given the way my projects go.

As for the commentary that got lost in the video, when showing the current texture, it was something to this effect: “Rather than being intended as an image, this is shader data, encoding the normals and / or knots. However, the data is found in the image where you would find the tiles, so we build it up out of the shapes being shown–lone curves on the corners, caps on the bottom / right sides, curve + triangle combinations in all the interior bits.”

1 Like

Sounds like an interesting project! Keep us posted!

I had another go tonight. Just some tinkering, adding in a couple shaders I alluded to in the first video as alternative tests, followed by fumbling around trying to get their parameters right.

I think I’ll need to make some notes before I move on to the Great Geometry Stitch-Up, but I’m getting sick of it just sitting there, so hoping to proceed more regularly.  :slight_smile: While not all problems are fixed, the street noise seemed better in tests; with any luck the updated settings will stifle a fan too… although I got some respite thanks to a bit of rain last night, we’ve suddenly had some midsummer-grade heat here this past week.  :o Anyhow, even if I do any more I’m not sure I’ll post again until I move on to another topic.

I’m saving the VODs (the programming ones, anyway) and will be putting them up on a video site or two, but haven’t gotten around to this yet.

Awesome!  I’ll take a peek tonight or tomorrow.

watching now, thanks!

followed! :smiley:

A brief update here.

I did a short little 2D geometry stream, although while explaining things I’d cropped the window a bit. I would actually like to revisit that, on the one hand to correct for that but with any luck also going a bit deeper into the topics in question.

Following a bit of a lull, I’ve begun doing some C++ plugin development, in particular Blend2D as mentioned here. I probably have one or two more of these left before I explore something else.

Everything is now being backed up to YouTube and BitChute.

Lastly, I’m now stashing snapshots of the stream’s code here.

I’ve been plugging away at some graphics support features lately. Thus I’ve been in a video-posting lull, but just added a couple short ones that go over some development details and the results. (Twitch link in the first post; backups are still in progress.)

What I posted in Discord:

"The last few weeks I’ve been working on something to let you make your own objects, derived from Solar’s own, with the ability to extend or override the built-in behaviors: https://github.com/ggcrunchy/corona/blob/CoronaObjects/librtt/Corona/CoronaObjects.h#L147

Alongside that are some (almost-but-not-quite-orthogonal) graphics features to plug into the rendering process, e.g. commands (these will interleave with Solar’s own GL calls), rewriting snippets of shader code (after being copied from the underlying template, of course), some “dirty” states that delineate batches, what gets cleared, etc.

Just did an overview of it, with early bits exploring some of this API and then a few examples after that: https://www.twitch.tv/videos/669283746

(Some “neighbors with power tools” bits shortly after I started, though it’s more muted on the recording than it sounded whle happening :smile: )"

and

“This is intended as plugin support, but since it’s in development, the “plugin” is squirreled away in the source at the moment: https://github.com/ggcrunchy/corona/tree/CoronaObjects/librtt/Display/TESTING

Minor update: the “dirty” state handling is now immediate, rather than setting a flag and waiting for it to get picked up when the next object draws.

Examples shown:

  • color masks and stencil buffer: color masks are usually meant to “render” but only for side effects, not looks, although that’s not what this is doing, as it was more of a test; stencils often built on that, generating some sort of intermediate result for a subsequent operation to use, e.g. outlining or curve smoothing
  • instancing, although software only: at this scale, this isn’t really useful, only a proof of concept; there’s another WIP feature it pairs nicely with, though, letting you work your way through a swath of uniforms
  • depth: basically, 3D :slight_smile:

As mentioned, this is meant as plugin foundation material, with those being example plugins. This is NOT a black-box design; it assumes you have the source available and can code against what can be found there. It aims to allow for some experimentation without having to constantly alter the core.

As mentioned in the second video, I might try to finally plunge into Vulkan and see if that turns up any problems with the approach. It’s mighty close to what I want, if just the GL side were considered.

2 Likes