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.

#computergraphics #demoscene #voxel

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

#computergraphics #softwarerendering #algorithm

Technical details of my small programs

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

https://youtube.com/watch?v=W8-54-9J9ns&si=9IwprVYRpnqHPVEJ

1981: How COMPUTER GRAPHICS Will Change the World | Horizon | Retro Tech | BBC Archive

YouTube

Visual analytics (Cartography 🗺️)

Visual analytics is a multidisciplinary science and technology field that emerged from information visualization and scientific visualization. It focuses on how analytical reasoning can be facilitated by interactive visual interfaces.

https://en.wikipedia.org/wiki/Visual_analytics

#VisualAnalytics #BigData #Cartography #Infographics #ComputerGraphics #TypesOfAnalytics

Visual analytics - Wikipedia

C++ Sunday 🙌
Strings, classes, operators overloading…
#cpp #computergraphics #100daysofcode #pluspluspixel

Looking into ImGui… super easy to use but quite ugly out of the box. Still yet to find anything as good as SwiftUI.

#ui #programming #computergraphics #cpp #raytracing #learning #education #100daysofcode #PlusPlusPixel #swiftui

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

#AbortRetryFail #Blog #RetroComputing #SiliconGraphics #SGI #GPU #VFX #OpenGL #3D #CG #CGI #ComputerGraphics #Mips #CPU #Irix #OS #Gaming #GameDev

The Rise and Fall of Silicon Graphics

or How a Rebellious Youth Briefly Conquered the World

Abort Retry Fail

Blender 4.4 released

https://lemmy.ml/post/28452269

Blender 4.4 released - Lemmy

Blender 4.4 brings improved animation workflow, better modeling, new sculpt brush, and smoother video editing, plus over 700 issues fixed. It introduces Action Slots, revolutionizing animation workflows by letting multiple data-blocks share a single Action. The Video Sequencer continues to improve with quality-of-life upgrades for text editing, expanded support for codecs including H.265 and 10/12-bit videos, and performance improvements that make editing faster than ever. And much more…

Bilinear interpolation on a quadrilateral using Barycentric coordinates

https://lemmy.ml/post/28451772

Bilinear interpolation on a quadrilateral using Barycentric coordinates - Lemmy

In computer graphics, we rarely encounter continuous data. We often work with digital data, and in the context of geometric modeling, this means we typically work with polygon meshes rather than procedural surfaces like Bézier patches. The most popular technique for constructing digital three-dimensional objects in dedicated modeling software is polygon modeling. The result of the creation phase is a set of polygons (mesh), where the polygons in the mesh can share vertices and edges with other polygons. Although users can create various types of surfaces (e.g., non-manifold), the most common surface is the topological 2-manifold. In short, a 2-manifold is a mathematical concept in topology, where the space locally resembles the Euclidean plane in R2. Essentially, every point on a 2-manifold has a neighborhood that looks like a piece of the plane. At the vertices of a polygon, users can store additional data (per-vertex attributes), such as vertex normals (for simulating curved surfaces), texture coordinates (for texture mapping), or RGBA color. In theory, all types of polygons can be used. In practice, however, 3D graphics artists most commonly use triangles and quadrilaterals. These polygons are typically referred to as topology primitives in computer graphics APIs. From an artist’s point of view, quadrilaterals are more advantageous because they are easier to work with. These arguments make the quadrilateral-based topology preferred by artists when modeling 3D objects. Long ago, GPUs abandoned support for hardware accelerated quadrilaterals (or polygons consisting of more than 4 vertices) rasterization, therefore also interpolation of vertex attributes contained in their vertices (line rendering is for a different story). The only polygon that has hardware accelerated implementation of rasterization and interpolation of parameters is the triangle. There are very good reasons why it was the triangle that won the race. Triangles are the foundation of real-time computer graphics, as reflected in the primitive topology supported by graphics APIs. All other polygon types used in meshes must be converted into triangles. When a modeling application allows quad-mesh construction, the visualization of this mesh is not based on quadrilaterals. Instead, the application converts them into triangle meshes. This necessary conversion can introduce C1 discontinuities in interpolated vertex attributes (such as texture coordinates, vertex normal vectors, and vertex colors) on the quadrilateral surface. In the case of the topic covered in this article, the discontinuity of C1 refers to the point at which the piecewise function is continuous, but its first derivative is not. In other words, the piecewise function itself has no jumps or breaks, but the slope (or rate of change) of the piecewise function has jumps or breaks. For rasterization of quadrilaterals as two triangles, C1 discontinuity in the interpolation of vertex attributes is most visible along the newly created edge that splits the quadrilateral into two triangles. The purpose of this article is to propose a new method that preserves C1 continuity over the common edge of two generated triangles from convex quadrilaterals. This new method is based on an algebraic solution for the Bilinear interpolation coefficient expressed in Barycentric coordinates. Bilinear interpolation has the advantage of being the simplest interpolation from an algebraic perspective. Consequently, the computational overhead is negligibly small. Additionally, linear interpolation allows for the easy construction of other types of interpolation, such as polynomial interpolation. The algebraic solution will then be implemented and tested using the three available hardware-accelerated pipelines supported by GPU hardware.