decompwlj, to mathematics
@decompwlj@mathstodon.xyz avatar
koteisaev, to fediverse
@koteisaev@mastodon.online avatar

Is there a software that able to show content? I talking about rendering STLs, with uploading previews together with file. It can be done using raw or Three.js as a way to render it.

eyeofmidas, to threejs
@eyeofmidas@mastodon.gamedev.place avatar
smallcircles, to javascript
@smallcircles@social.coop avatar

Three.js, a #JavaScript #WebGL library, skill and focus, and.. OMG 😮

https://equinox.space/ 😍

https://littleworkshop.fr/projects/equinox/

I read that it works well on mobile. I do wonder about #a11y if that is also taken into account in this smooth browser-based game.

lo, to genart
@lo@framapiaf.org avatar
marwi, to webxr German
@marwi@mastodon.gamedev.place avatar
jacomyal, to random
@jacomyal@vis.social avatar
jacomyal,
@jacomyal@vis.social avatar

Hurray 🎉

And the solution was not to try to find intersections between Bézier curves and circles (hard), but instead to make the thickness of the curve vary to shape a decent arrow head (easy).

#webgl

32bitkid, to javascript
@32bitkid@mstdn.social avatar

For anybody thats interested, I've extracted and published my little WebGL CRT-filter renderer. I'm using it on my own personal site for some CGA/EGA visualizations, but I'd be really interested if anybody uses it to do something else cool. 🍻

#WebGL #JavaScript #RetroComputing

https://www.npmjs.com/package/@4bitlabs/crt-lite

32bitkid, to retrocomputing
@32bitkid@mstdn.social avatar

I know that CRT-like shaders for pixel art are "spicy" for some. But I've been making a more progress on a little simple CRT-lite sandbox for WebGL. I think it looks pretty dope at 1440p (or even 4k). It also fades itself out if the resolution drops below 1080p to avoid moire.

Most of it is configurable—the monitor distortion, scan-lines, vignetting and gpu horizontal blur. After a few more tweaks, I'll be carving it off into its own repo to open source it. #RetroComputing #RetroGaming #WebGL

tojiro, to webgpu
@tojiro@mastodon.social avatar

Latest Khronos / meetup recording is up on YouTube now! My presentation about WebGPU on Android starts at about 1hr 19min.

https://youtu.be/bxsQMlymLEw?si=DvG4owZYsErq2XRG

marwi, to webxr German
@marwi@mastodon.gamedev.place avatar

Our Bow & Arrow sample now works on Vision Pro as well and Needle Engine has transient-pointer support

https://engine.needle.tools/samples/bow-&-arrow/?overlay=samples

video/mp4

schizanon, to webdev
@schizanon@mas.to avatar

Someone asked why we don't see any popular video games being made for WebGL, and it got me thinking that I need to make a video game with webGL or webGPU.

It should be something simple so I can get it done before losing interest. It should take advantage of the platform; multiplayer, or fast casual pick up and play for example. Bonus points if it's fun to play.

toxi, to animation
@toxi@mastodon.thi.ng avatar
marwi, to threejs German
@marwi@mastodon.gamedev.place avatar

v0 of progressive meshes for Needle Engine

#threejs #webgl

video/mp4

toxi, (edited ) to typescript
@toxi@mastodon.thi.ng avatar

Direct outcome from a recent GitHub discussion with @made, a new https://thi.ng/webgl multi-pass example to interactively draw to & read from an offscreen render texture using shaders directly written in #TypeScript via https://thi.ng/shader-ast and using high-level operators (gaussian blur & Porter-Duff alpha compositing) from https://thi.ng/shader-ast-stdlib...

Demo (draw in the left/first square):
https://demo.thi.ng/umbrella/webgl-texture-paint/

Source:
https://github.com/thi-ng/umbrella/blob/develop/examples/webgl-texture-paint/src/index.ts

#ThingUmbrella #WebGL #ShaderAST #Colors

toxi, to typescript
@toxi@mastodon.thi.ng avatar

#ReleaseFriday 🚀 - This week's #ThingUmbrella releases are mainly related to ShaderAST & ongoing repo-wide documentation updates of all 190 packages...

https://thi.ng/shader-ast — Added polymorphic syntax sugar versions of various math ops to simplify "self-assignments" aka ops in the form of x = x+ 2, which would in shader AST syntax looked like assign(x, add(x, 2)), now addSelf(x, 2)... See changelog & docs for details of supported ops.

https://thi.ng/shader-ast-stdlib — The "standard library" for https://thi.ng/shader-ast has had several new additions of useful helpers & metaprogramming tools, e.g. a new branches() function (see screenshot) to simplify n-ary A/B testing of params (or debugging of shader outputs) as is commonly done by e.g. visualizing different versions as columns based on fragment position. Other additions include surface normal calculation from a 2D terrain/grayscale texture (e.g. for GIS or fluid sims), float packing/unpacking (to/from 8bit/channel RGBA textures as a lot of mobile devices still don't support float render textures in WebGL)...

https://thi.ng/shader-ast-optimize — This package is used to apply various optimizations on a given shader AST program (or expression). Recursive constant folding has been extended to more ops & built-in functions. There's also a new wrapper function defOptimized() which can be used in place of defMain() to create auto-optimized shader main functions. The new version also has several bug fixes and more tests... See updated readme for examples.

As mentioned in earlier toots, I've also been doing several large rounds/commits of general documentation related updates/revamps, incl. updating all code examples in readmes & API docs to provide all required import statements, writing a new tooling (see below) to extract said code blocks from their original files and export them to their own source files for easier testing/trying them out from the command line. That work is only partially completed (with still hundreds of files to edit/update), but if you've got a clone of the https://thi.ng/umbrella repo, you can already try it out by running yarn tool:tangle (to extract examples from API docs in source files) or yarn doc:readme (to extract from readmes). In both cases, make sure your first build everything via yarn build. The tools will log where each of the examples is written to. Once I'm done, there will be ~800 example files extracted via this process... 💪

#TypeScript #JavaScript #ShaderAST #WebGL #Documentation #OpenSource

toxi, to art
@toxi@mastodon.thi.ng avatar
toxi, (edited ) to generative
@toxi@mastodon.thi.ng avatar

Revisiting an old unfinished project with new eyes & new colors...

#ThingUmbrella #Generative #Art #FluidSim #Colors #ShaderAST #TypeScript #WebGL

McFunkypants, to gamedev
@McFunkypants@mastodon.gamedev.place avatar

using gpu particles for "infinite" random rocks at 60fps

fps action with a rocky voxel floor

IvanSanchez, to random
@IvanSanchez@mastodon.social avatar

In today's news:

After a long time without any new fancy stuff, behold: the edgescreenify decorator! Can be applied to any kind of point symbol to make it stick to the sides of the viewport.

Try it yourself at http://localhost:3000/website/repl

A map interface, showing three coloured "pins" that stick to the edges of the viewport when the pin's city moves out of view.

donmccurdy, to threejs
@donmccurdy@fosstodon.org avatar

I've been meaning to start writing up blog posts based on responses to common questions in three.js Slack/Discord/Forums, so here's a start — an introduction to image formats in used in WebGL and WebGPU applications, including WebP, AVIF, and KTX2.

https://www.donmccurdy.com/2024/02/11/web-texture-formats/

amarok, to opensource
@amarok@mastodonczech.cz avatar

#XMPP #messaging isn't dead, it's actually more alive than ever 🤖 #opensource

interactive #webgl browser animation: https://xmppnetwork.goodbytes.im/webgl.html

decompwlj, to math
@decompwlj@mathstodon.xyz avatar
toxi, to UI
@toxi@mastodon.thi.ng avatar

Really getting into reusable #WebComponents lately, incl. this one I worked over the last week for the new thi.ng website: a WebGL based image transition (via displacement mapping), primarily using https://thi.ng/shader-ast & http://thi.ng/webgl...

https://demo.thi.ng/umbrella/webgl-transition/

  • the transition is currently linked to mouse over or touch events, but will be more flexible
  • the layout is responsive (single column on mobile, two columns on larger screens)
  • some of the displacement map images were created with https://shadergraph.thi.ng

(cc @Yura)

#ThingUmbrella #WebGL #WebComponents #UI #Transition #ShaderAST #TypeScript #JavaScript

Short screen recording of the linked example showing a grid of 4 images and the displacment distortions/transitions when the mouse is moved over each image

toxi,
@toxi@mastodon.thi.ng avatar

Always be dogfooding (your tech): Updated my WebGL image transition web component to display blurhash previews before & during image preloading. The hashes are provided as text attribute (~30 characters) and decoded to preview images via https://thi.ng/blurhash...

https://demo.thi.ng/umbrella/webgl-transition/

Always trying to be aware of bandwidth & energy implications (also UX related), this component is 100% lazy and only performs any work when absolutely needed (i.e. during transitions), otherwise is completely idle (not even using a dummy requestAnimationFrame() loop). Images are only starting to be preloaded when the component comes into view (using the IntersectionObserver API)

Other features added:

  • slideshow mode w/ arbitrary number of images (at least not limited by VRAM), adjustable delay time
  • choice of easing options/functions for transitions
  • dynamic loading/replacing of images & updating underlying WebGL textures

#ThingUmbrella #WebComponents #LazyLoading #WebGL #UI #Transition #ShaderAST #TypeScript #JavaScript

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • osvaldo12
  • ethstaker
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • everett
  • ngwrru68w68
  • khanakhh
  • JUstTest
  • InstantRegret
  • GTA5RPClips
  • Durango
  • normalnudes
  • cubers
  • tacticalgear
  • cisconetworking
  • tester
  • modclub
  • provamag3
  • anitta
  • Leos
  • lostlight
  • All magazines