A demo I liked from this year's crop at revision: “Summis Vita In Armento by Jumalauta” https://youtu.be/kMFubRiUOkw?si=mnGVK00F9VtzdL4L
A demo I liked from this year's crop at revision: “Summis Vita In Armento by Jumalauta” https://youtu.be/kMFubRiUOkw?si=mnGVK00F9VtzdL4L
Is there a standard algorithm to create a halftone screen from a greyscale image? How was this even done before computers?
I mean like in this image. At 50%, the raster is like a checker board, and at darker tones, it's like white circles on black.
So just drawing black circles won't get you there.
#graphics #computergraphics #imageprocessing
Doing some experiments with #RayTracing #ComputerGraphics using #Bonzomatic #GLSL #shader editor.
I define a 24-cell as the intersection of 24 half-spaces in 4D (with normals all permutations of (±1,±1,0,0)), then slice through constant 4th coordinate to get a 3D object, and simulate it as a glass-like material with reflection and refraction.
Future enhancement ideas:
- handle polarised light properly (currently I ignore polarisation, simply averaging the Fresnel reflection coefficients)
- wavelength-dependent index of refraction and absorption
- anti-aliasing (currently the edges are steppy as there is only 1 sample per pixel in a regular grid)
- improve efficiency (internal ray bounce is O(N^2) where N is the number of surfaces, could probably be O(N) with some extra maths insights)
- do 4D->3D slicing on CPU instead of every ray bounce
- add other 4D shapes
#Polarisation is something I haven't done before, so I'm curious to see how to implement it and how it changes appearance.
Stacking quads on the vertical axis and comparing the quad index against a height map value to fetch the color from a colormap is a fun way to spice things up for a simple quad rasterizer with pitch support, slow and inefficient but easy to add.
A Pixel Is Not a Little Square (1995) [pdf]
http://alvyray.com/Memos/CG/Microsoft/6_pixel.pdf
#HackerNews #A #Pixel #Is #Not #a #Little #Square #1995 #pdf #pixels #computergraphics #design #techart
Wrote some more about extending the "HAKMEM 149 line algorithm" to a quad rasterizer to be able to draw billboards (sprites) up to 3D sprites, the HAKMEM approach (and forward mapping) lose a bit of interest when degrees of freedom (and projection) are added up though but it was fun to retrace the sprites history a bit.
https://www.onirom.fr/wiki/codegolf/main/#HAKMEM_149_quad_rasterizer_/_sprite_scaler_+_rotation
Cool documentary from British Horizon science program detailing the early days of #ComputerGraphics #CGI #CG #VFX #VisualEffects
1981: How COMPUTER GRAPHICS Will Change the World | Horizon | Retro Tech...
I stumbled upon an interesting blog today while searching for an image of the Silicon Graphics 3D cube logo. Named "Abort Retry Fail" by Bradford Morgan White, the blog's articles document computer history. I eventually wound up reading three of them.
#1 "The Rise and Fall of Silicon Graphics"
https://www.abortretry.fail/p/the-rise-and-fall-of-silicon-graphics
Our method Anisotropic Specular Image-Based Lighting Based on BRDF Major Axis Sampling has received the Replicability Stamp!
Check it out here: https://www.replicabilitystamp.org/index.html#https-github-com-iota97-anisotropyeditor
Code & data: https://github.com/iota97/AnisotropyEditor
HAKMEM 149 line #algorithm extended to fill a quad by drawing a second line perpendicular to the first one as it is drawn.
Forward mapping so gaps / overdraws, overdraw is allowed to fix gaps, two pixels are drawn at a time, this works and is still kinda efficient as long as blending etc isn't used, a backward mapper may be better otherwise.
Not sure about the pros and cons though...
Function signature was adjusted and the center of rotation is computed for convenience.
#GameDev #ComputerGraphics #Normals #Meshes I am already well familiar with the concepts of vertex and face normals, and I know ways to calculate them for simple, or even quite complex cases. Simple being all smooth, or all facetted. Moderately complex being where we have some sharp and some smooth edges, maybe based on an angular threshold, and can share or split verts/normals accordingly.
But... but... what do we do when the mix of sharp and smooth edges is ambiguous, like in the picture. The red edge is sharp and the three blue ones are smooth, so how do we treat the 4 polygons where they meet at the vertex? There is no clean division between polys which connect smoothly and ones which should be separate rotating anticlockwise from A to D, all the edges should be smooth, so A should share a normal with B, and thus with C and eventually D, but going the other way, from A straight to D, we'd like the line to be sharp and we'd like them not to share. Obviously we can't have both. It's a puzzler...
A great new article by Jeffrey Starr, Investigating MacPaint's Source Code: https://ztoz.blog/posts/macpaint-source-code/
HAKMEM 149 line drawing #algorithm with epicycles, this uses two circles with opposite rotation to produce a line, not the most efficient way to draw a line since there is overdraw as it approaches edges but this has no conditionals / divisions, the line setup can be small when the input is polar, lines can be stylized easily as well (into curves), the line setup can use lookup tables, may be very efficient / small on ARM.
The idea came from https://brettcvz.github.io/epicycles
Working on STACK, HEAP and reference parameters today…
#pluspluspixel #cpp #c++ #programming #computergraphics #webgpu #raytracing
#GIMP version 3.0 has been released a few days ago. Obviously this was an absolute monster of a release that was years in the making.
As someone who uses this application A LOT, this is great! It will take a while after I’ve discovered the new features.
Simplest way to draw HAKMEM 149 based structure without offsetting / adjusting the seeds, turns out that using one unsigned shift is the
Loop is optional.
Two versions for the two different algorithm precisions. Adapted for 512x512.
Code is for a grey scale one but i made a colored one based on exponentially mapped iteration count (classic way to color fractals), this somehow require to offset coordinates for nice colors.
Working on the next video in my fun C++ intro series! Today, I’m trying to break down how C++ compilation works in the simplest way possible—clear visuals, no fluff, just straight-to-the-point explanations.
"Startup claims its Zeus GPU is 10X faster than Nvidia's RTX 5090: Bolt's first GPU coming in 2026"
The Zeus GPU seems like a ray/path-tracing specific solution, not a real-time gaming GPU. I imagine it would be useful for offline 3D rendering... which I can live with
My new YouTube channel PlusPlusPixel is launching soon!
The first 3 videos are almost ready—designed to help you learn the basics of C++ for graphics development in a fun and visual way. Stay tuned!
#programming #cpp #computergraphics #c++ #YouTube #education #pluspluspixel #raytracing