@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.

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

@VegaHarmonia the model is a SDF, and I cast 20k random rays at it and placed a splat on each rayhit. The splats are paraboloids more or less aligned like billboard sprites in view space.

aeva,
@aeva@mastodon.gamedev.place avatar
steve, to random
@steve@discuss.systems avatar

So far this evening I have cooked steak and rebuilt a carburetor. I think this is the most American I’ve ever felt.

aeva,
@aeva@mastodon.gamedev.place avatar

@steve round it out by watching a baseball

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

linux takes the gunnerkrigg court approach to ai: you start with a girl (you) and then slowly build an infernal machine (linux) around it

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

A good reason to use colour rather than color in your code is that colour has the same number of letters as both albedo and normal so you can align your code better.

aeva,
@aeva@mastodon.gamedev.place avatar

@dougbinks but then you have to use "albedou" for consistency though

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

ok so it only took me two months of having a new laptop to realize this but I just realized tonight that I finally have a decent portable to use with the realsense camera I got like three years ago and then stuffed into a drawer. Which is to say, that I remembered that I have a 3D camera, and yes

aeva,
@aeva@mastodon.gamedev.place avatar

I want to scan parts of my body and subtract it from stuff.

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

when linux gonna get ai linux is so behind

aeva,
@aeva@mastodon.gamedev.place avatar

@mcc oh yeah I forgot about m-x doctor

aeva,
@aeva@mastodon.gamedev.place avatar

@julianh lol no

aeva,
@aeva@mastodon.gamedev.place avatar

@mcc it must be rough having to open the character map every time you want to type the letter m 😔

aeva,
@aeva@mastodon.gamedev.place avatar

@mcc and toss the unicode combining character in there when you're feeling fancy

misty, to random
@misty@digipres.club avatar

I can tell it hasn't actually sunk in for people how bad google has gotten because like 3/4 of the examples people are posting of the "new" "AI" thing are actually the featured snippets they've had for years. They've definitely been this bad for a long time.

aeva,
@aeva@mastodon.gamedev.place avatar

@misty I just think it's funny that google is all proud of their AI stuff and people can't tell the difference from the schlock they've been serving us

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

Does anyone know of any code laying around the net that distributes points on a mesh in a blue noise distribution?
A student intern i work with is looking for this. It's tempting to write it, but im also kinda swamped :X

aeva,
@aeva@mastodon.gamedev.place avatar

@demofox you once gave me advice once on this exact subject! alas, I have not implemented it because I never settled on a suitable meshing strat

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

D&D Monk class but it's based on western European Medieval Christian monks

aeva,
@aeva@mastodon.gamedev.place avatar

@aud I think The Gamers: Dorkness Rising (2008 Film) had a gag about this where one of the players wanted to play a monk and the GM is like ok but it has to be an occidental monk because otherwise it doesn't fit the campaign

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

"art is only as good as its spectators". well,

aeva,
@aeva@mastodon.gamedev.place avatar

I think it's true though.

mcc, to random
@mcc@mastodon.social avatar

Me: There is a "minimal house" show on Thursday

My wife: Baby, that's called an apartment

aeva,
@aeva@mastodon.gamedev.place avatar

@mcc mocktails are awesome. it's a awesome time to not be a Drinker. alcohol is kinda played out anyway

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