LunarMotion

30 posts

LunarMotion banner
LunarMotion

LunarMotion

@lunarinteractiv

Freelance 3D artist and Web Developer

Leeds, England Katılım Haziran 2024
33 Takip Edilen2 Takipçiler
LunarMotion
LunarMotion@lunarinteractiv·
Same thing with mouse event listeners disabled also.
English
0
0
0
5
LunarMotion
LunarMotion@lunarinteractiv·
Don't know if it'll be visible in a screen capture but here it is anyway. Plugged in with a fresh chrome instance, no other tabs or add-ons active.
English
1
0
0
11
LunarMotion
LunarMotion@lunarinteractiv·
Noticing on my m1 air Chrome #webgl performance gets noticeably choppy whenever moving the cursor. Anyone else seeing this too? Try something smoothly animating e.g #webgl_geometry_cube" target="_blank" rel="nofollow noopener">threejs.org/examples/#webg… Not a threejs issue, happens with my own engine too.
English
1
0
0
36
LunarMotion
LunarMotion@lunarinteractiv·
Doing some #webgpu tests at the moment. If you want to update a texture in a bindGroup do you have to generate the whole object again or is there a way to change single values?
English
0
0
0
34
LunarMotion
LunarMotion@lunarinteractiv·
The number 1 thing that would get me to pay for X is if it didn't boot you to the 'for you' page at every possible opportunity 😑
English
0
0
0
14
LunarMotion
LunarMotion@lunarinteractiv·
@shatterspine The downside for me is ending up with a lot of rendering code is JS where you benifit from static typing the most. Unfortunate exposing apis directly to WASM hasn't materialised. Interested to know more how you structure your sprite display list.
English
0
0
0
83
LunarMotion retweetledi
dek
dek@shatterspine·
In the past I mostly discarded wasm as a real option to make use of while developing for browser games. But I think this came largely from me not seeing things from the right perspective - I think treating wasm as "a way to get some of your code to run fast" has issues. For example, ideas like having your physics run in wasm exclusively might work but it also creates an additional layer of complication. Or doing specific math heavy steps such as updating transform matrices. A common alternative: porting an entire c/c++ project plus rendering layer into wasm seems to have a lot of pitfalls as well. ("export to wasm"-type engines). Many projects created this way dont utilize browser tech well where it makes sense: lazy loading & really optimized WebGL rendering specifically written for the game. They often feel clunky for some reason. Something I recently explored: you treat wasm as a "owns and modifies game state" device, and then never interact with it other than telling it "update(tick)" and sending it user input in a shared buffer. As output buffer, you get a list of visuals (meshes/sprites) that you display using webgl/canvas/webgpu, and a list of sounds to play. Culling, etc. is all done on the wasm end. This way you reduce overhead from wasm calls, you keep all your internal game data inside a closed loop, and you treat javascript as a visualization / sound / input / event loop layer, nothing else - kind of like talking to a server. Comes with advantages such as being able to re-use low level code to de/serialize data, having fast access to things like copying world states in memory - that take a long time in JS without re-inventing the wheel with arraybuffers. Essentially, its really nice to develop multiplayer games that run in a browser and native on server. Not saying that I think its the best way to do things, but it may be worth looking at for some devs, especially zig with decent ways to compile wasm. Has anyone utilized this specific approach and got some experiences to share?
dek tweet media
English
14
4
186
13.3K
LunarMotion
LunarMotion@lunarinteractiv·
@shatterspine I agree - also WebGL and WebGPU functions often take JS obejcts as args which can be difficult to bind directly. Emscripten has to do so much code gen and shennanigans to make everything work. This way is has much less friction.
English
0
0
1
120
LunarMotion
LunarMotion@lunarinteractiv·
Eevee version plus height ramp shows off the details much better.
LunarMotion tweet media
English
0
0
0
14
LunarMotion
LunarMotion@lunarinteractiv·
Looking at some terrain elevation data. Pretty amazed at the level of detail that is available for free. This is from Jaxa's AW3D 30 arc second data set. Also includes specular and roughness maps.
LunarMotion tweet media
English
0
0
0
51
LunarMotion
LunarMotion@lunarinteractiv·
Got the models loaded into the site. Feels a bit too chaotic though so not convinced this is the way to go 😅. Portfolio sites are so hard ;_;
English
0
1
0
32
LunarMotion
LunarMotion@lunarinteractiv·
It is way too many steps needed to create an application shortcut in Ubuntu.
English
0
0
0
20
LunarMotion retweetledi
Sebastian Lague
Sebastian Lague@SebastianLague·
I've been working on optimizing the ray tracer that I made a little while back. Here's a video about the process if you're interested! youtube.com/watch?v=C1H4zI…
YouTube video
YouTube
English
15
95
1.1K
53.8K
LunarMotion
LunarMotion@lunarinteractiv·
Trying a (wildly) different direction for portfolio site. This feels more me but I'll probably change my mind again before I'm done 😅 #b3d #blender #blender3d
LunarMotion tweet media
English
0
0
1
27
LunarMotion
LunarMotion@lunarinteractiv·
Light and dark mode saved into a single video sprite. This will be blended in a shader when the user clicks the lamp. Dragging around anywhere else will rotate the view.
English
0
0
0
23
LunarMotion
LunarMotion@lunarinteractiv·
As videos are encoded as chroma plus luminance it's pretty easy to use chroma keying to get a transparent background for compositing with HTML elements on your page.
English
0
1
0
41
LunarMotion
LunarMotion@lunarinteractiv·
For bonus points you can overlay WebGL elements on top for added interactivity as I've done with the screen. Camera data is saved out for each frame from Blender using a Python script. Animation easing is all linear for even frame distribution.
English
1
0
0
31
LunarMotion
LunarMotion@lunarinteractiv·
Want to talk a bit about 3D scroll animations that are common today and how it's possible to improve them using some newer web APIs. 🧵 #webdev #webgl #blender3d
English
1
1
0
55