@scdollins@genart.social
@scdollins@genart.social avatar

scdollins

@scdollins@genart.social

Mazes. Motion. Mathematics.
Enslaved in the Scrolls

This profile is from a federated server and may be incomplete. Browse more on the original instance.

scdollins, to genart
@scdollins@genart.social avatar
danil, to GraphicsProgramming
@danil@mastodon.gamedev.place avatar

New blog post - Hash Noise stability in GPU Shaders -
https://arugl.medium.com/hash-noise-in-gpu-shaders-210188ac3a3e

scdollins,
@scdollins@genart.social avatar

@danil Do you know about http://www.jcgt.org/published/0009/03/02/ and
https://www.shadertoy.com/view/XlGcRh

pcg4d has become my favorite hash. As a 4-in/4-out you can give it a random seed and xyz and get out 4 values at once.

scdollins,
@scdollins@genart.social avatar

@danil Ah, sorry, yes you do. Bad reading comprehension on my part.

Though it slows it down even more, one way to get better int to float consistency is to only use 24 bits of the int (right shift by 8 bits) so that it fits cleanly into the mantissa. Arch differences come in the way they round the lowest bits, so to keep it clean, just cut them off.

But as you say, if you're coming from floats, it'll be faster to stay there.

scdollins, to genart
@scdollins@genart.social avatar

Hexagonal Borromean links

- Hexagonal

scdollins, to genart
@scdollins@genart.social avatar
scdollins,
@scdollins@genart.social avatar

@wow_elec_tron It's made with a program I wrote in Processing.

scdollins, to genart
@scdollins@genart.social avatar

Hexagonal sheets

- Hexagonal

scdollins, to genart
@scdollins@genart.social avatar

Hex tiling mazes

- Hexagonal

scdollins, to genart
@scdollins@genart.social avatar
scdollins, to genart
@scdollins@genart.social avatar
scdollins, to genart
@scdollins@genart.social avatar

"Universe man, Universe man
Size of the entire universe man"

https://infinitefunspace.com/p5/fly/ lets you fly through this "infinite" toroidal cube of 1M particles of ray-marched geometry spread by a moving noise function for extra texture.

Use the arrows and ASDW to move. [ and ] change the number of shapes. T toggles the text. N toggles the noise. L toggles layers.

- Particles
- SDFs
- Shaders

scdollins, to genart
@scdollins@genart.social avatar

"Particle man, particle man
Doing the things a particle can"

Play with this image live (and check out its source code) at https://infinitefunspace.com/p5/ball/ Drag with the mouse or your finger to spin it around.

It uses buffer-less rendering of 100,000 screen-aligned triangles textured with spheres. Each one is sized, colored, and animated entirely within the vertex shader.

- Particles
- Shaders

scdollins, to generative
@scdollins@genart.social avatar
scdollins, to generative
@scdollins@genart.social avatar
scdollins, to generative
@scdollins@genart.social avatar
scdollins, to generative
@scdollins@genart.social avatar
scdollins, to generative
@scdollins@genart.social avatar
TomF, to random
@TomF@mastodon.gamedev.place avatar

Here's a picture. Quickly count how many players are on each of the two teams, then answer the poll in the following comment.

scdollins,
@scdollins@genart.social avatar

@TomF @aeva As is more common, I'm slightly red insensitive but have no trouble distinguishing red and green. A better test (not better, but different) would test thin red lines on black, or cyan on white, or yellow on bright green.

Pure red error messages on a black console window particularly suck. Ideally, red fonts should always include a bit of green to help it stand out from a black background or from other black text on a light background.

scdollins, to generative
@scdollins@genart.social avatar
bit101, to random
@bit101@mstdn.social avatar

A function I made this year that I wish I made decades ago

// WrapTau wraps a number to be within 0 (inclusive) to 2 * Pi (exclusive).
func WrapTau(value float64) float64 {
return math.Mod(math.Mod(value, Tau)+Tau, Tau)
}

scdollins,
@scdollins@genart.social avatar

@bit101 The glsl docs say they compute mod() as x - y * floor(x/y), so at least there you don't need the double mod to get a positive result. You might want to speed test their version to compare.

TodePond, to random
@TodePond@mas.to avatar

YOU CAN JUST ASK

Something I’m learning recently: You can just ask.

https://www.todepond.com/wikiblogarden/sayings/just-ask/

scdollins,
@scdollins@genart.social avatar

@TodePond Do you know about https://casual-effects.com/markdeep/ ? Write your page in markdown plus a number of extras, add a simple script comment at the end, and you get formatted html.

scdollins, to generative
@scdollins@genart.social avatar

A collection of grid-free mazes

I usually create mazes by growing the paths. These, instead, grow the walls.

Growing the paths gives more control. While I like these aesthetically, their solutions tend to be pretty simple.

Circle maze with very wiggly square-aligned walls
Circle maze with wiggly square-aligned walls. The spacing grows and shrinks in spirals from the center.
Circle maze with wiggly zig-zagging triangular walls.

scdollins,
@scdollins@genart.social avatar
scdollins,
@scdollins@genart.social avatar

@Haldane Thanks! It's my own code written in Processing though using OpenGL and shaders to do the rendering.

The algorithm is similar to the one described here: https://sighack.com/post/poisson-disk-sampling-bridsons-algorithm

scdollins, to generative
@scdollins@genart.social avatar
scdollins,
@scdollins@genart.social avatar
  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • tacticalgear
  • cubers
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • osvaldo12
  • ngwrru68w68
  • GTA5RPClips
  • provamag3
  • InstantRegret
  • everett
  • Durango
  • cisconetworking
  • khanakhh
  • ethstaker
  • tester
  • anitta
  • Leos
  • normalnudes
  • modclub
  • megavids
  • lostlight
  • All magazines