@andrewwillmott@mastodon.gamedev.place
@andrewwillmott@mastodon.gamedev.place avatar

andrewwillmott

@andrewwillmott@mastodon.gamedev.place

Graphics Research/Sims/SimCity/Spore/Football Manager/Wayve/Stealth Startup

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

unormal, to random
@unormal@mastodon.social avatar

Ohhhhh [finally understanding what the fuck matrix multiplication right and left sides are about]

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@TomF @demofox @unormal even better: the same applies to OpenGL and IrisGL, which preceded it. (OpenGL was SGI’s opening up of their GL spec to gain wider traction.) I’ve always assumed there was pressure from some committee to switch from row vectors to the more mathy column vectors so beloved of textbooks as part of this process. Switching the storage convention too was a neat hack which ensured the engineers only had to change the docs, not the implementation 😂

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

First thing YouTube is pushing at me when opened in a private browsing page.

It's sickening that this is our life now.

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

(I mean, if I had to pick the two idiots whose views on the Middle East shouldn't be amplified... 🤦‍♂️ 🤦‍♂️ 🤦‍♂️ . But monetisation trumps all it seems.)

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

Shadow mapping

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@aras I thought ray-traced shadows were supposed to solve these kinds of overly-large shadow bias issues.

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.

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@TomF And if you're shipping anything visual to the public, consider tacking on something like this: https://github.com/andrewwillmott/colour-blind-luts. (Even if only to detect when your UI might be problematic.)

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

This thing in London where they demolish an entire building behind the facade and then rebuild it still kind of freaks me out.

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@oblomov I've walked past there and had a look a couple of times :). If you're on a double-decker bus on Porchester Terrace (IIRC) you can see down into the gap behind the frontage, where steam trains used to vent steam on the Circle/District line.

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

Also, I've spent way too much time than necessary (again) figuring out correct axis signs, while rotating Spherical Harmonikas.

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@fatlimey @logicalerror @aras Thankfully the CG community seems pretty consistent, I've been lucky enough not to come across that yet.

In this case, looking at Aras's particular sign flips 😀, they're effectively negating the z axis of the passed-in rotation matrix, so my assumption is it's a LH/RH coordinate system issue.

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@fatlimey @logicalerror @aras Nonono. I started with zonal harmonicas.

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

I will not comment on internet’s takes about a project I worked on. I will not comment on internet’s takes about a project I worked on. I will not comment on internet’s takes about a project I worked on. I will not comment on internet’s takes about a project I worked on.

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@aras Try having worked on SimCity 13 😉 . Could be worse!

mcc, to random
@mcc@mastodon.social avatar

Okay so

A quirk I have is I don't like it when IDEs interface with my version control system. That is MY version control system. Don't touch my stuff, IDEs

But! I have another quirk, which is that I don't like git, and I use Mercurial for everything

And the quirks cancel each other out! I check my projects out in Mercurial, which is obscure, so IDEs don't support it, so their VCS integration fails and I am happy

Until

This month, in the new version

Android Studio added Mercurial support!!!

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@floooh @TomF @mcc @inthehands Git makes some hard things simple (distributed VCS etc.), at the expense of making some simple things hard.

It is one of life's great amusements that arguably its main popularity driver has been a website, git_hub_, that focuses on providing a centralised version of it.

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

That my #1 most desired browser feature is search-for-tab probably indicates I have a problem.

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@pervognsen @dmikis ta, for some reason I'd got it into my head that the Chrome one is per-window, like Safari's, but it's not.

(I currently have... checks... 11 windows all packed with tabs. Definitely a problem.)

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

@andrewwillmott oh btw, I just used your https://github.com/andrewwillmott/sh-lib code today! quite sweet and useful, since I needed to rotate 4th order SHs for, well, gaussian splatting shenanigans. Thanks! It ported to HLSL very easily.

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@aras oh excellent. Glad to hear it!

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

Brushing off some ancient spherical harmonics shader code (I wonder why), and it's a reminder of how heavily constrained we used to be. Lower bands in the vertex shader, for both normal and mirror directions, and then higher spec-only bands added in the fragment shader. On the lower-medium end some of the diffuse/spec VS eval was shared (ugh) and some coeffs in the higher bands that made the least visual difference with the environments dropped out.

Tell that to the youth of today etc. etc.

video/mp4

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

So if you have a mesh where a vertex is shared between two triangles. How would you call an operation that duplicates the vertex (making it unique for each surface), but keeps it topologically connected?
So basically your vertex will not be, for instance, smoothed anymore, but when you move the vertex it still moves "both" vertices

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@logicalerror I think of vertex elements as belonging to three classes, each of which can usefully have its own indexing/connectivity:

Positional (G0): Positions, blend weights/indices, morph deltas
Surface (G1): Normals, irradiances, geometric tangents
Material: Texture coords, normal-map tangents, emissivity

A split in one implies splitting the classes below. So I would call it a "surface split". But I can see how that could be ambiguous without the framing, so I'm not sure it helps :)

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

Loads of people pile on Git-LFS but at a time when people were ignoring anything that wasn’t Git (even Hg, which was great) and with no way to change certain things about Git, it was a miracle to make something that works as well as it does.

We still use it with UE, with locking, it works for us. Some edge cases but rare once you set it up right. Tooling in eg Fork is good.

I don’t like Perforce and SVN is clunky & slow so it’s better for us than those

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@sinbad @Donzanoid I tried semi-recently to move an asset pipeline to blobless/sparse, but the latter is still pretty clunky, and people managed to shoot themselves in the foot quite a bit with the blob= stuff. Even with helper scripts.

Not enough knowledge out there about it yet, for people to be able to google problems, and, good lord, there are a lot of ancient versions of git installed out there it turns out :D

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

Good Times For The Kiddos Movie Playlist:

  1. Pinocchio (any adaptation really), because who doesn't love a kid getting extremely disproportionately punished for lying
  2. Coraline
  3. Watership Down (pretty much all of it)
  4. The scenes involving the Nothing in Never-Ending story (especially That One Scene. you know the one)
  5. The Last Unicorn
  6. The outbreak containment scene in E.T.
  7. Who Framed Roger Rabbit?, any scene with the villain in their true form really
  8. Watership Down again
andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@rygorous Oh dear god, Watership Down. I'm not sure I've ever really recovered from seeing that as a child. General rabbit slaughter: throats ripped out, being buried alive. It had it all. (Maybe excepting Myxomatosis.)

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@pervognsen 😂 😂 😂

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

You can't draw many conclusions from benchmarking a general purpose allocator versus a specialized allocator in a microbenchmark situation where you start with a fresh heap, especially if the allocations and deallocations are cleanly separated into disjoint phases. Most general purpose allocators will have a mostly-linear allocation pattern (often segregated by size class) under those conditions so you're likely only going to see smaller differences on the fast paths of the GPA.

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@pervognsen One obvious thing we used to do back in the day was to take memory traces from an actual run of the game, over some period of time, and replay them to benchmark.

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

What's the goto lib for texture compression, mipmap generation and the like, these days? For integrating into a texture compiler, as part of the content pipeline.

I've worked with NVTT in the past (5+ yeas ago), so that's the first thing that comes to mind, but I figure there might be other options available.

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@Humus https://github.com/bkaradzic/bimg could be worth a look. I've used it in a couple of multiplatform pipelines now. See bimg/encode.h.

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

It's interesting that with all the discussions of game engines recently no one mentioned O3DE https://o3de.org/ (CryEngine > Amazon Lumberyard > O3DE).

It's a Linux Foundation Project (via the Open 3D Foundation), and the Github seems fairly active https://github.com/o3de/o3de

I don't know what that means as far as support for the project, though it appears there are non-engineeering staff members.

I don't know of any games which have been released using it though.

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@bitinn @dougbinks Oof! Confusing tone-mapped output with your lighting space is a bit of a red flag.

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@bitinn @dougbinks Hmm, the reply in that issue seems to suggest the lighting is linear, and written as F16, before applying -> aces -> grading -> tone map as a post process. That seems reasonable unless I'm misunderstanding the issue. Using aces I think is justifiable if they're mostly targeting HDR displays.


...

  • Render high-quality HDR using physically-based shading
  • Render linear scene RBGA16f
  • Transform linear scene into ACEScg scene referred color space (IDT)
aras, to random
@aras@mastodon.gamedev.place avatar

I'm sure it's fine

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@aras just need a wake-up coffee or two

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

Today is the day that I learnt that the barcodes on UK stamps, which obsoleted and made worthless everyone's stash of old stamps at the back of the cupboard, have no actual functional value. They're just for arbitrary links to something 'entertaining', like a video of Shaun the Sheep.

andrewwillmott,
@andrewwillmott@mastodon.gamedev.place avatar

@AngryAnt That sounds really nice, the 3x3 thing that is. You can buy online here, but last I checked you had to have a way of printing the resulting stamp onto an envelope or sticker.

Also, now that I have some of these new stamps, it turns out the QR code isn't readable by standard apps, e.g., the built-in iPhone/Android ones, you need their special app. Absolutely ludicrous.

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