Simon F's Avatar

Simon F

@sifee.bsky.social

3D graphics including texture comp & RT. Messing with pixels since early 80s. 33yrs @ PowerVR/Imagination. Deluded opinions probably my own. Banner circa '87: Amantides-style cone ray tracing+Perlin textures on Transputer. No tris or bitmap textures

689 Followers  |  204 Following  |  276 Posts  |  Joined: 03.01.2024  |  2.2628

Latest posts by sifee.bsky.social on Bluesky

I take it from the square β€˜halo’ that Mario+cart are not 3D but just a bunch of alpha masked textures?

05.08.2025 17:27 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
VR@50: Reception Honoring Ivan Sutherland
YouTube video by ACMSIGGRAPH VR@50: Reception Honoring Ivan Sutherland

What in particular are you questioning?

Martin Newell explains in part of this video (youtu.be/VktqJ5I9aKY?... (at about the 1:02:05 mark)) how he borrowed the family teapot and used it to create the original model.
(See also graphics.cs.utah.edu/teapot/)

05.08.2025 15:53 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
IOCCC winner code entry

IOCCC winner code entry

This IOCCC winner entry (International Obfuscated C Code Contest) made me smile. The code draws the current moon phase to the console.

04.08.2025 07:50 β€” πŸ‘ 425    πŸ” 136    πŸ’¬ 4    πŸ“Œ 7

@andrewwillmott.bsky.social

Winding order error?

04.08.2025 12:17 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I apologise for not putting the correct facetious emoji in 😝

03.08.2025 12:24 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Handle of Newell’s Utah teapot but with an additional support?

Handle of Newell’s Utah teapot but with an additional support?

Is that a CSG error? πŸ˜€

03.08.2025 11:12 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Halfway through cutting some long grass (and hoping there are no Eastern Brown or Red-bellied Black snakes hiding amongst it)

Halfway through cutting some long grass (and hoping there are no Eastern Brown or Red-bellied Black snakes hiding amongst it)

If it hasn’t reached a metre then don’t panic.

02.08.2025 22:20 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It’s been a long time since I saw it and I may be misremembering, but
β€œTruly Madly Deeply”

Given the loss of Alan Rickman, not sure I’d even dare watch it now.

02.08.2025 15:52 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

If you only had a something-or-other for every time you suggested that

22.07.2025 09:21 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

You know you are allowed (in fact it is recommended) to keep your coding hat on when outdoors, even when not coding!

22.07.2025 09:18 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I think I have an 80% Go-Gos, 20% Fun Boy 3 mixture in my head.

16.07.2025 10:25 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Now I have to work out which version was in Aus

15.07.2025 11:20 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

As in alpha tested textures. Possibly … not really given it much thought.

14.07.2025 14:03 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

2/2
Unfortunately, textures usually use non-linear, sRGB, so you have to be more careful and get things in the right order.

(FWIW when developing PVRTC v1 I assumed non-premul, but then sort of changed it to premultiplied for V2)

14.07.2025 13:13 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

1/2 The problem is that there's probably a better way.

If your textures are using linear intensities, the correct thing to do is to use premultiplied (AKA associative) alpha for all your filtering/blending. Jim Blinn wrote a great article explaining why. (graphics.stanford.edu/courses/cs24...)

14.07.2025 13:13 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

I thought support for the pulse dialing had long vanished from telephone exchanges.

Do you remember the (I assume) myth that if you had a "1" (or perhaps a 2 if nimble enough) in a telephone number that if you tapped the cradle/hangup when dialing instead of the "1", the call would be free?

14.07.2025 12:47 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Since the β€˜salmon’ is the next most efficient travelling machine, one wonders if the much derided β€œfish on a bicycle” begins to actually make sense.

14.07.2025 12:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Advice from a 70s(?) song in Australia:
β€œTurn the pillow over, because it’s cooler on the other side”

11.07.2025 19:13 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

The ~2BPP mode uses a per texture 256, 2x2 pixel codebook entirely generated by the compressor.

If you request the ~1BPP mode, that used 4x2 pixel codes BUT those pixels were 8 bit indices into a shared 256 colour palette.
Because it was shared, the palette had to be supplied

11.07.2025 19:06 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

By coincidence, I recently did an β€˜archeological dig’ and uncovered the source code for the Dreamcast/powerVR VQ texture compressor (circa 1999/2000)

Might be interesting changing the colour distance metric from the assumed sRGB to something like this.

11.07.2025 12:07 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Beware! This might be an attempt by Big Brother to make a sound track for room 101

10.07.2025 18:51 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

That’s no crime. That’s wisdom.
(Recall time in high school I did work experience at XXXX brewery where I was shown the centrifuge used to do final separation of yeast and beer before the former was sold to (then) Kraft for making Vegemite.
I believe the term was β€œremoving the cr* from the pi* 😳)

10.07.2025 10:47 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I didn’t realise Vis Studio is also doing some Valgrind-like stuff in debug builds to detect it at runtime.

10.07.2025 10:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

πŸ€·πŸ»β€β™‚οΈ
Too long ago to remember ☹️

10.07.2025 10:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Not at first, but that’s mainly because I’d forgotten how one does (non command line) targets on windows.

10.07.2025 10:33 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Fair enough, but render time may improve with instancing as more of the model may be resident in cache.

09.07.2025 15:48 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

How randomly placed are the spheres? Just wondering if you instead created a small number of β€œbuilding blocks” randomly filled with spheres, and then used instancing, whether you could get the same effect with much smaller BVH build times.
(Possibly smaller render times too due to mem footprint)

09.07.2025 14:05 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

What was scary was that the modern compiler flagged a few uninitialised variables (not in the bits I wrote, phew!) so I guess the we were lucky back in the 90s πŸ˜€

09.07.2025 13:57 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 3    πŸ“Œ 0
Video thumbnail

The rainbow is still elusive...
But how about subsurface scattering the hard way? By rendering tiny diffuse particles (atoms?) to simulate the many internal bounces of the surface.
Looks a little bit like sugar.

09.07.2025 02:15 β€” πŸ‘ 13    πŸ” 3    πŸ’¬ 4    πŸ“Œ 0

I can’t find it now, but did you ever see the (satirical) picture of the bicycle with about 20 chainrings + chains that was touted to go faster than light? πŸ€ͺ

09.07.2025 12:43 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@sifee is following 20 prominent accounts