@aeva@mastodon.gamedev.place
@aeva@mastodon.gamedev.place avatar

aeva

@aeva@mastodon.gamedev.place

I'm a just a small town AAA graphics programmer in Chicago. I worked on Gears 5 and Gears Tactics. My work is secret, but my personal projects are not.

I like to post about my personal research, various side projects, and I like to think out loud a lot. Expect weird humor, esoteric ramblings, and occasionally also art I made out of math. I like implicit surface modeling the normal amount. Amateur spoonie. 🏳️‍⚧️

Curses are just blessings with caveats.

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

lritter, to random
@lritter@mastodon.gamedev.place avatar

every base is base 10 🤯

aeva,
@aeva@mastodon.gamedev.place avatar

@lritter based

aeva, to random
@aeva@mastodon.gamedev.place avatar

CPUs always seem kinda confused when you hold them at 100% load for more than a few seconds

aeva,
@aeva@mastodon.gamedev.place avatar

@joncruz I'm running a parallel-for that's cranking through a ton of math continuously without synchronization

aeva,
@aeva@mastodon.gamedev.place avatar

@eniko personally I refuse to do more than one floating point op per second

aeva,
@aeva@mastodon.gamedev.place avatar

@joncruz huh, weird. does cura only do single threaded slicing per object?

aeva,
@aeva@mastodon.gamedev.place avatar

seriously, measuring my cpu load in decibels here. when they gonna make water cooled laptops already

aeva,
@aeva@mastodon.gamedev.place avatar

@efi 🤔

aeva, to random
@aeva@mastodon.gamedev.place avatar

I added some lights to the splat renderer. The lighting is ray traced on the CPU and the colors are uploaded as new vertex colors for rendering.

The program is currently single threaded (I'm planning on moving it into a thread pool later), and the ray tracing loop is time constrained to ensure that the frame is always presented on time. If I were to raise the splat count further, the convergence time on the lighting and shadows would become more noticeable.

A hollowed out sphere with holes on opposite sides is seen rotating. Near each hole is a sphere to create interesting shadows within the hollow sphere. There are two moving lights above the object, one is a blue light and the other is an orange light. The lights cast hard shadows upon the rotating model.

aeva,
@aeva@mastodon.gamedev.place avatar

It is worth noting that this is a C# program (and I think I forgot to switch it off of being a debug build), so that also adds some runtime overhead that limits the splat count. Rewriting this in C++ would allow the splat count to run much higher without amplifying the convergence artifacts.

aeva,
@aeva@mastodon.gamedev.place avatar

@thomastc it's a surprisingly easy technique to implement. feel free to copy from my notes:

https://github.com/Aeva/tangerine/blob/chemical_lemonade/05_color_splats/Experiment.cs

aeva,
@aeva@mastodon.gamedev.place avatar

@thomastc you probably don't want to use geometry shaders anyway http://www.joshbarczak.com/blog/?p=667

aeva,
@aeva@mastodon.gamedev.place avatar

@thomastc the benchmark is meant to illustrate a known problem, which is that tessellation and geometry shaders produce variable sized workloads that can't be known ahead of time, and some IHVs rely on being able to schedule and allocate workloads upfront for perf reasons.

This is still quite relevant. Mesh shaders were introduced as a better alternative to both, and the industry has largely standardized on them.

aeva,
@aeva@mastodon.gamedev.place avatar

@thomastc but the good news is you don't really even need that. Just use instancing to draw your splats.

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