Ben Sims retweeted
DX12 Bindless Plugin for Unity3D is now open source, and you can use it in your projects! Can be useful for writing a custom GPU Driven Renderer. (github below)
Ben Sims retweeted
I'm thrilled to share a JCGT paper, "GPU Friendly Laplacian Texture Blending." It uses simple image processing and computational photography techniques to smoothly blend textures and materials while preserving local contrast and texture details without ghosting or blurring. 1/3
Ben Sims retweeted
Hey, don't "optimize" conditional moves with mix()+step(). Please stop advising that. Why: iquilezles.org/articles/gpuc…
Ben Sims retweeted
Is there a reason Black Ops 6 is not pushing any Ray Tracing unlike Black Ops Cold War? They had some nice presentation about it and it seemed like they really had a great thing going that they could build on. Seeing all the SSR, Shadow Acne, and SSAO in the new game kinda sucks.
Ben Sims retweeted
I don't understand where the idea fast code has to be poorly organized or unreadable came from?
IMO If you *actually* understand performance you can write very clean and simple code and still be easily like 100x faster than a lot of modern software
I've been reading comments by people who are hand optimizing for speed (or they object to things like encapsulation because of—often imagined—speed hits). With the obvious exceptions (e.g. real-time gaming), why does speed matter much? Of course, you don't want to be deliberately sloppy (e.g. function calls that return the same value inside of loops), my experience is that maintainabiity is more important than raw speed in most programs. If people aren't complaining about the speed, and if the cost of running cloud instances isn't more than the cost of maintenance, I see little point in optimizing for it.
Ben Sims retweeted
Replying to @matiasgoldberg
Ben Sims retweeted
Okay, I'm just going to throw this out there, but maybe - just maybe - a vendor having the ability to change every one of their kernel drivers in the field at the same time without any approval from IT/end users is a model we need to reconsider... @CrowdStrike.
Ben Sims retweeted
I see Stubbe's octahedral decode opt in almost every usage I come across. But I've never seen it used for encoding.
The same symmetry applies here! and its ~50% faster.
Especially important for octahedral-encoded textures, as it's required for every sample! please RT.
Ben Sims retweeted
loose conventions of every letter of the alphabet when used in math, in my experience:
a - variable, usually the first, or acceleration
b - variable, usually the second, or a basis function
c - constant, coefficient, or the speed of light, might be a third variable
d - infinitesimal/derivative notation, but could also be distance or diameter. using this as a fourth variable after a, b, and c is illegal under international law
e - euler's number, or a variable/constant if we're feeling extra brave
f - function, probably
g - probably also a function. or the scalar gravity constant
h - a variable, usually height, but might be a function too
i - the imaginary unit, if we're doing complex algebra/analysis, or a basis vector. could also be an integer
j - quaternion basis or basis vector
k - quaternion basis or basis vector
l - mostly unused, bad glyph, nobody likes it, too similar to 1 and | and I. you may use it only if you write it very squiggly cursively or for lagrange polynomials
m - a constant, or mass
n - an integer, or a normal vector
o - mostly unused? if I see this I'm probably reading my own notes
p - a constant, usually an intermediate variable
q - a quaternion, or an intermediate variable
r - a radius, or a position vector
s - displacement or arc length
t - time or interpolation parameter, usually as an independent variable in a parametric equation, or a tangent vector
u - a coordinate in 2D space, or the first parameter of a parametric function with more than one parameter, or a time/interpolation value
v - a vector, might be a velocity vector specifically, or scalar speed, or a coordinate in 2D space, or the second parameter of a parametric function
w - the real part of a quaternion, or a phase/angular velocity/frequency
x - an independent variable or the first component of a coordinate/vector in 2D or 3D space
y - a dependent variable or the second component of a coordinate/vector in 2D or 3D space
z - a complex number, or the third component of a coordinate/vector in 3D space
Ben Sims retweeted
It's fucking wild how they're trying to shove this shit literally anywhere they can, no matter how little sense it makes.
Ben Sims retweeted
"don't recreate the wheel"
this phrase in software has caused more problems than it solved
Ben Sims retweeted
Replying to @SebAaltonen
Several years ago I did a blog post about memory bandwidth napkin math. The amount of ram you get to touch at very high framerates is shockingly low.
forrestthewoods.com/blog/mem…
Ben Sims retweeted
Replying to @ChShersh
Is "tech wizard" a negative or positive thing? Syntax highlighting helps productivity. Doing things the hard way is often not the best. A professional programmer knows how to lean on tools to make them more productive.
Ben Sims retweeted
Yey! The speakers for REAC have been announced: enginearchitecture.org/2024.…
Registration is open, too!
I am looking forward to two days of diving into the vast pool of engine architecture knowledge and coming out soaking wet :-) .
Ben Sims retweeted
Excellent blog post about gamedev in Rust. This also discusses the problems of ECS and how Rust gamedev basically requires generational arenas to work. I also discussed generational arenas in C++20 renderer in my latest SIGGRAPH talk.
loglog.games/blog/leaving-ru…

































