Are you over 18 and want to see adult content?
More Annotations
A complete backup of ritathletics.com
Are you over 18 and want to see adult content?
A complete backup of museumofdiscovery.org
Are you over 18 and want to see adult content?
Favourite Annotations
A complete backup of antoniovinuales.wordpress.com
Are you over 18 and want to see adult content?
A complete backup of damepelota.blogspot.com
Are you over 18 and want to see adult content?
A complete backup of easyparapharmacie.es
Are you over 18 and want to see adult content?
A complete backup of rommelsbacher.de
Are you over 18 and want to see adult content?
A complete backup of thetaxcalculator.net
Are you over 18 and want to see adult content?
A complete backup of andreschiappe.blogspot.com
Are you over 18 and want to see adult content?
A complete backup of elfcosmetics.com.au
Are you over 18 and want to see adult content?
A complete backup of boulderblock.blogspot.com
Are you over 18 and want to see adult content?
Text
PAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ. THE GRACEFUL TREE CONJECTURE The Kotzig-Ringel conjecture, better known as the Graceful Tree Conjecture (GTC), claims that: All trees are graceful. This is a simple statement but mathematicians don’t know if it’s true or not! At the time of this writing, nobody has come up with a counterexample and there is no proof that one exists.FILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 SILHOUETTE EXTRACTION AT THE LITTLE GRASSHOPPER Just for fun, I want to point out a classic two-pass method for generating silhouettes, used in the days before shaders. I wouldn’t recommend it nowadays; it does not highlight creases and “core” OpenGL no longer supports smooth/wide lines anyway. PHILIP RIDEOUT :: BLOOM HDR Bloom. High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye). TRON, VOLUMETRIC LINES, AND MESHLESS TUBES AT THE LITTLE With Tron: Legacy hitting theaters, I thought it’d be fun to write a post on volumetric line strips. They come in handy for a variety of effects (lightsabers, lightning, particle traces, etc.). In many cases, you can render volumetric lines by drawing thin lines into an offscreen surface, then blurring the entire surface. KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen Table THE LITTLE GRASSHOPPERSNOWYPERFECT PANNINGQUAD MESHESSWEEP AND PRUNEKNOTGLMARCHING SQUARES Deforming a page in a book. The virtues of the humble subdivided octahedron. Pan and zoom like Google Maps, but with perspective. Legendre's proof of the polyhedron formula using scrollytelling. Random musings on occlusion sorting and collision detection. Using Python to generate 3D line art. VISUALIZING 2D VECTOR FIELDS Visualizing 2D Vector Fields. Philip Rideout, 18 July 2018. Physics textbooks often have beautiful hand-drawn illustrations. For example, here's something from The Feynman Lectures on Physics (1964): How can we generate images like this algorithmically?PAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ. THE GRACEFUL TREE CONJECTURE The Kotzig-Ringel conjecture, better known as the Graceful Tree Conjecture (GTC), claims that: All trees are graceful. This is a simple statement but mathematicians don’t know if it’s true or not! At the time of this writing, nobody has come up with a counterexample and there is no proof that one exists.FILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 SILHOUETTE EXTRACTION AT THE LITTLE GRASSHOPPER Just for fun, I want to point out a classic two-pass method for generating silhouettes, used in the days before shaders. I wouldn’t recommend it nowadays; it does not highlight creases and “core” OpenGL no longer supports smooth/wide lines anyway. PHILIP RIDEOUT :: BLOOM HDR Bloom. High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye). TRON, VOLUMETRIC LINES, AND MESHLESS TUBES AT THE LITTLE With Tron: Legacy hitting theaters, I thought it’d be fun to write a post on volumetric line strips. They come in handy for a variety of effects (lightsabers, lightning, particle traces, etc.). In many cases, you can render volumetric lines by drawing thin lines into an offscreen surface, then blurring the entire surface. KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen TableFILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although Descartes TRON, VOLUMETRIC LINES, AND MESHLESS TUBES AT THE LITTLE With Tron: Legacy hitting theaters, I thought it’d be fun to write a post on volumetric line strips. They come in handy for a variety of effects (lightsabers, lightning, particle traces, etc.). In many cases, you can render volumetric lines by drawing thin lines into an offscreen surface, then blurring the entire surface. LAVA VULKAN UTILITIES Overview. Building and Running the Demos; LunarG SDK Instructions; Lava Components. LavaContext creates an instance, a device, a swap chain, and some command buffers.; LavaDescCache creates a descriptor set layout and manages a set of corollary descriptors.; LavaPipeCache manages a set of pipeline objects for a given layout.; LavaCpuBuffer is a shared CPU-GPU buffer, useful for staging or CROSS PRODUCTS AND THE FOUR COLOR THEOREM Kauffman’s Cross Product Theorem. If L and R are associations of the n -term cross product AxBxCx, then there exists a nonzero solution to the equation L = R for any n, and for any choices of L and R. The Four Color Theorem. (4CT) The faces of any trivalent bridgeless plane graph can be properly colored using 4 or fewer colors. TRIANGLE TESSELLATION WITH OPENGL 4.0 AT THE LITTLE This is the first of a two-part article on tessellation shaders with OpenGL 4.0+. This entry gives an overview of tessellation and walks through an example of simple triangle subdivision; in the next entry, we’ll focus on quad subdivision.. Reviewing Geometry ShadersKNOTGL
KnotGL Rolfsen TableMODERN OPENGL
MODERN. OPENGL. A P R I L 2 0 1 2. A profile is a subset of OpenGL that you choose to work in when you create a context. The core profile restricts you to the modern API. There's even an ES profile if you want your code to be portable to mobile platforms! Here's how you select a profile with Qt or X .PRIDEOUT
🏠 Distance Fields Streamlines par_streamlines 3D Wireframes in SVG Split-free occlusion sorting Perfect Panning Octaspheres Graceful Graphs Tait Coloring Cross Products and the 4CT Generating SVG for the Prime Knots Rolling Cubes and Group Theory Archived Distance Fields Streamlines par_streamlines 3D Wireframes in SVG Split-free occlusion sorting Perfect PanningPERFECT PANNING
Perfect Panning. This is a quick note about through the lens camera control. The user drags the mouse around in their viewport, which causes the camera to slide around within the plane that is parallel to the near and far clipping planes. THE LITTLE GRASSHOPPERSNOWYPERFECT PANNINGQUAD MESHESSWEEP AND PRUNEKNOTGLMARCHING SQUARES Deforming a page in a book. The virtues of the humble subdivided octahedron. Pan and zoom like Google Maps, but with perspective. Legendre's proof of the polyhedron formula using scrollytelling. Random musings on occlusion sorting and collision detection. Using Python to generate 3D line art. EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although Descartes 3D WIREFRAMES IN SVG The viewport defines the rectangular region within the final image that the camera projects to. This can be left set to its default values unless the image contains multiple panels. The camera encompasses the view matrix and the projection matrix.We can use pyrr to generate these; it provides create_look_at and create_perspective_projection functions.. The mesh has a list offaces, a shader
THE GRACEFUL TREE CONJECTURE The Kotzig-Ringel conjecture, better known as the Graceful Tree Conjecture (GTC), claims that: All trees are graceful. This is a simple statement but mathematicians don’t know if it’s true or not! At the time of this writing, nobody has come up with a counterexample and there is no proof that one exists. OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ. VISUALIZING 2D VECTOR FIELDS Visualizing 2D Vector Fields. Philip Rideout, 18 July 2018. Physics textbooks often have beautiful hand-drawn illustrations. For example, here's something from The Feynman Lectures on Physics (1964): How can we generate images like this algorithmically? PHILIP RIDEOUT :: BLOOM HDR Bloom. High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye).DISTANCE FIELDS
Distance fields are useful in a variety of graphics applications, including antialiasing, ray marching, and texture synthesis. Sometimes they are computed analytically from functions, but often they are generated from voxelized meshes or 2D bitmaps. This article uses bitmaps for illustrative purposes. TRON, VOLUMETRIC LINES, AND MESHLESS TUBES AT THE LITTLE With Tron: Legacy hitting theaters, I thought it’d be fun to write a post on volumetric line strips. They come in handy for a variety of effects (lightsabers, lightning, particle traces, etc.). In many cases, you can render volumetric lines by drawing thin lines into an offscreen surface, then blurring the entire surface. KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen Table THE LITTLE GRASSHOPPERSNOWYPERFECT PANNINGQUAD MESHESSWEEP AND PRUNEKNOTGLMARCHING SQUARES Deforming a page in a book. The virtues of the humble subdivided octahedron. Pan and zoom like Google Maps, but with perspective. Legendre's proof of the polyhedron formula using scrollytelling. Random musings on occlusion sorting and collision detection. Using Python to generate 3D line art. EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although Descartes 3D WIREFRAMES IN SVG The viewport defines the rectangular region within the final image that the camera projects to. This can be left set to its default values unless the image contains multiple panels. The camera encompasses the view matrix and the projection matrix.We can use pyrr to generate these; it provides create_look_at and create_perspective_projection functions.. The mesh has a list offaces, a shader
THE GRACEFUL TREE CONJECTURE The Kotzig-Ringel conjecture, better known as the Graceful Tree Conjecture (GTC), claims that: All trees are graceful. This is a simple statement but mathematicians don’t know if it’s true or not! At the time of this writing, nobody has come up with a counterexample and there is no proof that one exists. OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ. VISUALIZING 2D VECTOR FIELDS Visualizing 2D Vector Fields. Philip Rideout, 18 July 2018. Physics textbooks often have beautiful hand-drawn illustrations. For example, here's something from The Feynman Lectures on Physics (1964): How can we generate images like this algorithmically? PHILIP RIDEOUT :: BLOOM HDR Bloom. High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye).DISTANCE FIELDS
Distance fields are useful in a variety of graphics applications, including antialiasing, ray marching, and texture synthesis. Sometimes they are computed analytically from functions, but often they are generated from voxelized meshes or 2D bitmaps. This article uses bitmaps for illustrative purposes. TRON, VOLUMETRIC LINES, AND MESHLESS TUBES AT THE LITTLE With Tron: Legacy hitting theaters, I thought it’d be fun to write a post on volumetric line strips. They come in handy for a variety of effects (lightsabers, lightning, particle traces, etc.). In many cases, you can render volumetric lines by drawing thin lines into an offscreen surface, then blurring the entire surface. KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen TablePAGE TURNING
Page Turning Animation. This uses Filament to demonstrate Deforming Pages of 3D Electronic Books by Hong et al. Their paper suggests animating a page by independently deforming and rotating the mesh. They describe the deformation using simple parametric equations that take two artist-controlled time-varying parameters: Θ (t) and Ay(t) .So for
PAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
LAVA VULKAN UTILITIES Overview. Building and Running the Demos; LunarG SDK Instructions; Lava Components. LavaContext creates an instance, a device, a swap chain, and some command buffers.; LavaDescCache creates a descriptor set layout and manages a set of corollary descriptors.; LavaPipeCache manages a set of pipeline objects for a given layout.; LavaCpuBuffer is a shared CPU-GPU buffer, useful for staging orFILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡MARCHING SQUARES
In this post I’ll walk through some features of the par_msquares.h library. The API has three entry points: par_msquares_meshlist * par_msquares_grayscale (float const * data, int width, int height, int cellsize, float threshold, int flags); par_msquares_meshlist * par_msquares_color (uint8_t const * data, int width, int height, int cellsize, uint32_t color, int bpp, int flags); par_msquares SPLIT-FREE OCCLUSION SORTING Split-free occlusion sorting. Overview; Polygon-aligned binary space partition; Split-free alternative to BSP trees; Conclusion; Overview. Visibility sorting on the CPU is an interesting thing to do in some situations, such as:BARREL DISTORTION
Here’s a GLSL snippet that performs barrel distortion: This function transforms the input into polar coordinates, tweaks the radius, then converts it back to texture space. In olden times before shaders, barrel distortion could be achieved by simply rendering the scene into a texture, then applying the texture to a 2D grid of vertices. TRIANGLE TESSELLATION WITH OPENGL 4.0 AT THE LITTLE This is the first of a two-part article on tessellation shaders with OpenGL 4.0+. This entry gives an overview of tessellation and walks through an example of simple triangle subdivision; in the next entry, we’ll focus on quad subdivision.. Reviewing Geometry Shaders KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen Table TRON, VOLUMETRIC LINES, AND MESHLESS TUBES AT THE LITTLE With Tron: Legacy hitting theaters, I thought it’d be fun to write a post on volumetric line strips. They come in handy for a variety of effects (lightsabers, lightning, particle traces, etc.). In many cases, you can render volumetric lines by drawing thin lines into an offscreen surface, then blurring the entire surface. THE LITTLE GRASSHOPPERSNOWYPERFECT PANNINGQUAD MESHESSWEEP AND PRUNEKNOTGLMARCHING SQUARES Deforming a page in a book. The virtues of the humble subdivided octahedron. Pan and zoom like Google Maps, but with perspective. Legendre's proof of the polyhedron formula using scrollytelling. Random musings on occlusion sorting and collision detection. Using Python to generate 3D line art. VISUALIZING 2D VECTOR FIELDS Visualizing 2D Vector Fields. Philip Rideout, 18 July 2018. Physics textbooks often have beautiful hand-drawn illustrations. For example, here's something from The Feynman Lectures on Physics (1964): How can we generate images like this algorithmically? EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although DescartesPAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ.FILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 THE GRACEFUL TREE CONJECTURE The Kotzig-Ringel conjecture, better known as the Graceful Tree Conjecture (GTC), claims that: All trees are graceful. This is a simple statement but mathematicians don’t know if it’s true or not! At the time of this writing, nobody has come up with a counterexample and there is no proof that one exists. SILHOUETTE EXTRACTION AT THE LITTLE GRASSHOPPER Just for fun, I want to point out a classic two-pass method for generating silhouettes, used in the days before shaders. I wouldn’t recommend it nowadays; it does not highlight creases and “core” OpenGL no longer supports smooth/wide lines anyway. PHILIP RIDEOUT :: BLOOM HDR Bloom. High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye). TRON, VOLUMETRIC LINES, AND MESHLESS TUBES AT THE LITTLE With Tron: Legacy hitting theaters, I thought it’d be fun to write a post on volumetric line strips. They come in handy for a variety of effects (lightsabers, lightning, particle traces, etc.). In many cases, you can render volumetric lines by drawing thin lines into an offscreen surface, then blurring the entire surface. THE LITTLE GRASSHOPPERSNOWYPERFECT PANNINGQUAD MESHESSWEEP AND PRUNEKNOTGLMARCHING SQUARES Deforming a page in a book. The virtues of the humble subdivided octahedron. Pan and zoom like Google Maps, but with perspective. Legendre's proof of the polyhedron formula using scrollytelling. Random musings on occlusion sorting and collision detection. Using Python to generate 3D line art. VISUALIZING 2D VECTOR FIELDS Visualizing 2D Vector Fields. Philip Rideout, 18 July 2018. Physics textbooks often have beautiful hand-drawn illustrations. For example, here's something from The Feynman Lectures on Physics (1964): How can we generate images like this algorithmically? EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although DescartesPAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ.FILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 THE GRACEFUL TREE CONJECTURE The Kotzig-Ringel conjecture, better known as the Graceful Tree Conjecture (GTC), claims that: All trees are graceful. This is a simple statement but mathematicians don’t know if it’s true or not! At the time of this writing, nobody has come up with a counterexample and there is no proof that one exists. SILHOUETTE EXTRACTION AT THE LITTLE GRASSHOPPER Just for fun, I want to point out a classic two-pass method for generating silhouettes, used in the days before shaders. I wouldn’t recommend it nowadays; it does not highlight creases and “core” OpenGL no longer supports smooth/wide lines anyway. PHILIP RIDEOUT :: BLOOM HDR Bloom. High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye). TRON, VOLUMETRIC LINES, AND MESHLESS TUBES AT THE LITTLE With Tron: Legacy hitting theaters, I thought it’d be fun to write a post on volumetric line strips. They come in handy for a variety of effects (lightsabers, lightning, particle traces, etc.). In many cases, you can render volumetric lines by drawing thin lines into an offscreen surface, then blurring the entire surface. EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although DescartesPAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
FILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 LAVA VULKAN UTILITIES Overview. Building and Running the Demos; LunarG SDK Instructions; Lava Components. LavaContext creates an instance, a device, a swap chain, and some command buffers.; LavaDescCache creates a descriptor set layout and manages a set of corollary descriptors.; LavaPipeCache manages a set of pipeline objects for a given layout.; LavaCpuBuffer is a shared CPU-GPU buffer, useful for staging or CROSS PRODUCTS AND THE FOUR COLOR THEOREM Kauffman’s Cross Product Theorem. If L and R are associations of the n -term cross product AxBxCx, then there exists a nonzero solution to the equation L = R for any n, and for any choices of L and R. The Four Color Theorem. (4CT) The faces of any trivalent bridgeless plane graph can be properly colored using 4 or fewer colors.MODERN OPENGL
MODERN. OPENGL. A P R I L 2 0 1 2. A profile is a subset of OpenGL that you choose to work in when you create a context. The core profile restricts you to the modern API. There's even an ES profile if you want your code to be portable to mobile platforms! Here's how you select a profile with Qt or X . TRIANGLE TESSELLATION WITH OPENGL 4.0 AT THE LITTLE This is the first of a two-part article on tessellation shaders with OpenGL 4.0+. This entry gives an overview of tessellation and walks through an example of simple triangle subdivision; in the next entry, we’ll focus on quad subdivision.. Reviewing Geometry Shaders KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen TablePRIDEOUT
🏠 Distance Fields Streamlines par_streamlines 3D Wireframes in SVG Split-free occlusion sorting Perfect Panning Octaspheres Graceful Graphs Tait Coloring Cross Products and the 4CT Generating SVG for the Prime Knots Rolling Cubes and Group Theory Archived Distance Fields Streamlines par_streamlines 3D Wireframes in SVG Split-free occlusion sorting Perfect PanningPERFECT PANNING
Perfect Panning. This is a quick note about through the lens camera control. The user drags the mouse around in their viewport, which causes the camera to slide around within the plane that is parallel to the near and far clipping planes. THE LITTLE GRASSHOPPERSNOWYPERFECT PANNINGQUAD MESHESSWEEP AND PRUNEKNOTGLMARCHING SQUARES Deforming a page in a book. The virtues of the humble subdivided octahedron. Pan and zoom like Google Maps, but with perspective. Legendre's proof of the polyhedron formula using scrollytelling. Random musings on occlusion sorting and collision detection. Using Python to generate 3D line art. EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although DescartesPAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
VISUALIZING 2D VECTOR FIELDS Visualizing 2D Vector Fields. Philip Rideout, 18 July 2018. Physics textbooks often have beautiful hand-drawn illustrations. For example, here's something from The Feynman Lectures on Physics (1964): How can we generate images like this algorithmically? OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ.FILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen Table THE GRACEFUL TREE CONJECTURE The Kotzig-Ringel conjecture, better known as the Graceful Tree Conjecture (GTC), claims that: All trees are graceful. This is a simple statement but mathematicians don’t know if it’s true or not! At the time of this writing, nobody has come up with a counterexample and there is no proof that one exists. THE LITTLE GRASSHOPPER Tron, Volumetric Lines, and Meshless Tubes. Volumetric lines are handy for a variety of effects, including lightsabers, lightning, and particle traces. In this article, I show how a geometry shader can emit a chamfered cuboid for each line segment. The fragment shader can then perform a variety of effects within the screen-space regiondefined
PHILIP RIDEOUT :: BLOOM HDR Bloom. High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye). THE LITTLE GRASSHOPPERSNOWYPERFECT PANNINGQUAD MESHESSWEEP AND PRUNEKNOTGLMARCHING SQUARES Deforming a page in a book. The virtues of the humble subdivided octahedron. Pan and zoom like Google Maps, but with perspective. Legendre's proof of the polyhedron formula using scrollytelling. Random musings on occlusion sorting and collision detection. Using Python to generate 3D line art. EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although DescartesPAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
VISUALIZING 2D VECTOR FIELDS Visualizing 2D Vector Fields. Philip Rideout, 18 July 2018. Physics textbooks often have beautiful hand-drawn illustrations. For example, here's something from The Feynman Lectures on Physics (1964): How can we generate images like this algorithmically? OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ.FILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen Table THE GRACEFUL TREE CONJECTURE The Kotzig-Ringel conjecture, better known as the Graceful Tree Conjecture (GTC), claims that: All trees are graceful. This is a simple statement but mathematicians don’t know if it’s true or not! At the time of this writing, nobody has come up with a counterexample and there is no proof that one exists. THE LITTLE GRASSHOPPER Tron, Volumetric Lines, and Meshless Tubes. Volumetric lines are handy for a variety of effects, including lightsabers, lightning, and particle traces. In this article, I show how a geometry shader can emit a chamfered cuboid for each line segment. The fragment shader can then perform a variety of effects within the screen-space regiondefined
PHILIP RIDEOUT :: BLOOM HDR Bloom. High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye).PAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although DescartesPAGE TURNING
Page Turning Animation. This uses Filament to demonstrate Deforming Pages of 3D Electronic Books by Hong et al. Their paper suggests animating a page by independently deforming and rotating the mesh. They describe the deformation using simple parametric equations that take two artist-controlled time-varying parameters: Θ (t) and Ay(t) .So for
CLIP PLANES
Here’s a torus with two-sided lighting and a custom clipping plane: The code for this OpenGL demo is on github: ClipPlanes.c; ClipPlanes.glsl; In olden times of yore, we used fixed-function commands like glClipPlane.Nowadays a plane equation is simply an arbitrary vec4 uniform, and you perform a dot-product test explictly in your vertex shader, sending the result to a special output.QUAD MESHES
this github project. When working with Catmull-Clark subdivision surfaces in the absence of tessellation shaders, we typically perform some sort of uniform refinement on the CPU, perhaps using OpenSubdiv.. One of the nice properties of Catmull-Clark is that you always get a clean quad mesh after one level of subdivision, even though the input topology can be composed of arbitrary polygons. LAVA VULKAN UTILITIES Overview. Building and Running the Demos; LunarG SDK Instructions; Lava Components. LavaContext creates an instance, a device, a swap chain, and some command buffers.; LavaDescCache creates a descriptor set layout and manages a set of corollary descriptors.; LavaPipeCache manages a set of pipeline objects for a given layout.; LavaCpuBuffer is a shared CPU-GPU buffer, useful for staging or TRON, VOLUMETRIC LINES, AND MESHLESS TUBES AT THE LITTLE With Tron: Legacy hitting theaters, I thought it’d be fun to write a post on volumetric line strips. They come in handy for a variety of effects (lightsabers, lightning, particle traces, etc.). In many cases, you can render volumetric lines by drawing thin lines into an offscreen surface, then blurring the entire surface. SNOWY - THE LITTLE GRASSHOPPER Snowy is a tiny module for manipulating and generating floating-point images. Small and flat API (free functions only). Written purely in Python 3. Accelerated with numba. Configurable boundaries ( wrap modes ). Snowy does not define a special class for images. Instead, images are always three-dimensional numpy arrays in row-major order.PAR_STREAMLINES
par_streamlines. par_streamlines.h is my dependency-free C library for triangulating wide lines, Béziers, and streamlines. The following canvases use the library inside a small WebAssembly module. There are no memory allocations occurring per-frame.PERFECT PANNING
Perfect Panning. This is a quick note about through the lens camera control. The user drags the mouse around in their viewport, which causes the camera to slide around within the plane that is parallel to the near and far clipping planes. THE LITTLE GRASSHOPPERSNOWYPERFECT PANNINGQUAD MESHESSWEEP AND PRUNEKNOTGLMARCHING SQUARESLITTLE GRASSHOPPER QUOTEMY LITTLE LIBRARYLITTLE GRASSHOPPER BOOKS APPLITTLE GRASSHOPPER LIBRARY FREE APP Deforming a page in a book. The virtues of the humble subdivided octahedron. Pan and zoom like Google Maps, but with perspective. Legendre's proof of the polyhedron formula using scrollytelling. Random musings on occlusion sorting and collision detection. Using Python to generate 3D line art. EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although DescartesPAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
VISUALIZING 2D VECTOR FIELDS Visualizing 2D Vector Fields. Philip Rideout, 18 July 2018. Physics textbooks often have beautiful hand-drawn illustrations. For example, here's something from The Feynman Lectures on Physics (1964): How can we generate images like this algorithmically? OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ.FILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen Table THE GRACEFUL TREE CONJECTURE The Kotzig-Ringel conjecture, better known as the Graceful Tree Conjecture (GTC), claims that: All trees are graceful. This is a simple statement but mathematicians don’t know if it’s true or not! At the time of this writing, nobody has come up with a counterexample and there is no proof that one exists. THE LITTLE GRASSHOPPER Tron, Volumetric Lines, and Meshless Tubes. Volumetric lines are handy for a variety of effects, including lightsabers, lightning, and particle traces. In this article, I show how a geometry shader can emit a chamfered cuboid for each line segment. The fragment shader can then perform a variety of effects within the screen-space regiondefined
PHILIP RIDEOUT :: BLOOM HDR Bloom. High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye). THE LITTLE GRASSHOPPERSNOWYPERFECT PANNINGQUAD MESHESSWEEP AND PRUNEKNOTGLMARCHING SQUARESLITTLE GRASSHOPPER QUOTEMY LITTLE LIBRARYLITTLE GRASSHOPPER BOOKS APPLITTLE GRASSHOPPER LIBRARY FREE APP Deforming a page in a book. The virtues of the humble subdivided octahedron. Pan and zoom like Google Maps, but with perspective. Legendre's proof of the polyhedron formula using scrollytelling. Random musings on occlusion sorting and collision detection. Using Python to generate 3D line art. EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although DescartesPAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
VISUALIZING 2D VECTOR FIELDS Visualizing 2D Vector Fields. Philip Rideout, 18 July 2018. Physics textbooks often have beautiful hand-drawn illustrations. For example, here's something from The Feynman Lectures on Physics (1964): How can we generate images like this algorithmically? OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ.FILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen Table THE GRACEFUL TREE CONJECTURE The Kotzig-Ringel conjecture, better known as the Graceful Tree Conjecture (GTC), claims that: All trees are graceful. This is a simple statement but mathematicians don’t know if it’s true or not! At the time of this writing, nobody has come up with a counterexample and there is no proof that one exists. THE LITTLE GRASSHOPPER Tron, Volumetric Lines, and Meshless Tubes. Volumetric lines are handy for a variety of effects, including lightsabers, lightning, and particle traces. In this article, I show how a geometry shader can emit a chamfered cuboid for each line segment. The fragment shader can then perform a variety of effects within the screen-space regiondefined
PHILIP RIDEOUT :: BLOOM HDR Bloom. High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye).PAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although DescartesPAGE TURNING
Page Turning Animation. This uses Filament to demonstrate Deforming Pages of 3D Electronic Books by Hong et al. Their paper suggests animating a page by independently deforming and rotating the mesh. They describe the deformation using simple parametric equations that take two artist-controlled time-varying parameters: Θ (t) and Ay(t) .So for
CLIP PLANES
Here’s a torus with two-sided lighting and a custom clipping plane: The code for this OpenGL demo is on github: ClipPlanes.c; ClipPlanes.glsl; In olden times of yore, we used fixed-function commands like glClipPlane.Nowadays a plane equation is simply an arbitrary vec4 uniform, and you perform a dot-product test explictly in your vertex shader, sending the result to a special output.QUAD MESHES
this github project. When working with Catmull-Clark subdivision surfaces in the absence of tessellation shaders, we typically perform some sort of uniform refinement on the CPU, perhaps using OpenSubdiv.. One of the nice properties of Catmull-Clark is that you always get a clean quad mesh after one level of subdivision, even though the input topology can be composed of arbitrary polygons. LAVA VULKAN UTILITIES Overview. Building and Running the Demos; LunarG SDK Instructions; Lava Components. LavaContext creates an instance, a device, a swap chain, and some command buffers.; LavaDescCache creates a descriptor set layout and manages a set of corollary descriptors.; LavaPipeCache manages a set of pipeline objects for a given layout.; LavaCpuBuffer is a shared CPU-GPU buffer, useful for staging or TRON, VOLUMETRIC LINES, AND MESHLESS TUBES AT THE LITTLE With Tron: Legacy hitting theaters, I thought it’d be fun to write a post on volumetric line strips. They come in handy for a variety of effects (lightsabers, lightning, particle traces, etc.). In many cases, you can render volumetric lines by drawing thin lines into an offscreen surface, then blurring the entire surface. SNOWY - THE LITTLE GRASSHOPPER Snowy is a tiny module for manipulating and generating floating-point images. Small and flat API (free functions only). Written purely in Python 3. Accelerated with numba. Configurable boundaries ( wrap modes ). Snowy does not define a special class for images. Instead, images are always three-dimensional numpy arrays in row-major order.PAR_STREAMLINES
par_streamlines. par_streamlines.h is my dependency-free C library for triangulating wide lines, Béziers, and streamlines. The following canvases use the library inside a small WebAssembly module. There are no memory allocations occurring per-frame.PERFECT PANNING
Perfect Panning. This is a quick note about through the lens camera control. The user drags the mouse around in their viewport, which causes the camera to slide around within the plane that is parallel to the near and far clipping planes. THE LITTLE GRASSHOPPERSNOWYPERFECT PANNINGQUAD MESHESSWEEP AND PRUNEKNOTGLMARCHING SQUARESLITTLE GRASSHOPPER QUOTEMY LITTLE LIBRARYLITTLE GRASSHOPPER BOOKS APPLITTLE GRASSHOPPER LIBRARY FREE APP Deforming a page in a book. The virtues of the humble subdivided octahedron. Pan and zoom like Google Maps, but with perspective. Legendre's proof of the polyhedron formula using scrollytelling. Random musings on occlusion sorting and collision detection. Using Python to generate 3D line art. EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although DescartesPAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
VISUALIZING 2D VECTOR FIELDS Visualizing 2D Vector Fields. Philip Rideout, 18 July 2018. Physics textbooks often have beautiful hand-drawn illustrations. For example, here's something from The Feynman Lectures on Physics (1964): How can we generate images like this algorithmically? OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ.FILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen Table THE GRACEFUL TREE CONJECTURE The Kotzig-Ringel conjecture, better known as the Graceful Tree Conjecture (GTC), claims that: All trees are graceful. This is a simple statement but mathematicians don’t know if it’s true or not! At the time of this writing, nobody has come up with a counterexample and there is no proof that one exists. THE LITTLE GRASSHOPPER Tron, Volumetric Lines, and Meshless Tubes. Volumetric lines are handy for a variety of effects, including lightsabers, lightning, and particle traces. In this article, I show how a geometry shader can emit a chamfered cuboid for each line segment. The fragment shader can then perform a variety of effects within the screen-space regiondefined
PHILIP RIDEOUT :: BLOOM HDR Bloom. High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye). THE LITTLE GRASSHOPPERSNOWYPERFECT PANNINGQUAD MESHESSWEEP AND PRUNEKNOTGLMARCHING SQUARESLITTLE GRASSHOPPER QUOTEMY LITTLE LIBRARYLITTLE GRASSHOPPER BOOKS APPLITTLE GRASSHOPPER LIBRARY FREE APP Deforming a page in a book. The virtues of the humble subdivided octahedron. Pan and zoom like Google Maps, but with perspective. Legendre's proof of the polyhedron formula using scrollytelling. Random musings on occlusion sorting and collision detection. Using Python to generate 3D line art. EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although DescartesPAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
VISUALIZING 2D VECTOR FIELDS Visualizing 2D Vector Fields. Philip Rideout, 18 July 2018. Physics textbooks often have beautiful hand-drawn illustrations. For example, here's something from The Feynman Lectures on Physics (1964): How can we generate images like this algorithmically? OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ.FILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen Table THE GRACEFUL TREE CONJECTURE The Kotzig-Ringel conjecture, better known as the Graceful Tree Conjecture (GTC), claims that: All trees are graceful. This is a simple statement but mathematicians don’t know if it’s true or not! At the time of this writing, nobody has come up with a counterexample and there is no proof that one exists. THE LITTLE GRASSHOPPER Tron, Volumetric Lines, and Meshless Tubes. Volumetric lines are handy for a variety of effects, including lightsabers, lightning, and particle traces. In this article, I show how a geometry shader can emit a chamfered cuboid for each line segment. The fragment shader can then perform a variety of effects within the screen-space regiondefined
PHILIP RIDEOUT :: BLOOM HDR Bloom. High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye).PAR_SHAPES.H
par_shapes.h. When tinkering with a new graphics API or raytracing kernel, I often want to use procedurally-generated shapes to avoid worrying about loading art assets. Hence my motivation for authoring a single-file, zero-dependency, C99 library that can generate simple shapes and perform basic operations on them. These operations include:The
EULER'S POLYHEDRON FORMULA Euler's Polyhedron Formula. This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. Leonhard Euler discovered this in 1752 although DescartesPAGE TURNING
Page Turning Animation. This uses Filament to demonstrate Deforming Pages of 3D Electronic Books by Hong et al. Their paper suggests animating a page by independently deforming and rotating the mesh. They describe the deformation using simple parametric equations that take two artist-controlled time-varying parameters: Θ (t) and Ay(t) .So for
CLIP PLANES
Here’s a torus with two-sided lighting and a custom clipping plane: The code for this OpenGL demo is on github: ClipPlanes.c; ClipPlanes.glsl; In olden times of yore, we used fixed-function commands like glClipPlane.Nowadays a plane equation is simply an arbitrary vec4 uniform, and you perform a dot-product test explictly in your vertex shader, sending the result to a special output.QUAD MESHES
this github project. When working with Catmull-Clark subdivision surfaces in the absence of tessellation shaders, we typically perform some sort of uniform refinement on the CPU, perhaps using OpenSubdiv.. One of the nice properties of Catmull-Clark is that you always get a clean quad mesh after one level of subdivision, even though the input topology can be composed of arbitrary polygons. LAVA VULKAN UTILITIES Overview. Building and Running the Demos; LunarG SDK Instructions; Lava Components. LavaContext creates an instance, a device, a swap chain, and some command buffers.; LavaDescCache creates a descriptor set layout and manages a set of corollary descriptors.; LavaPipeCache manages a set of pipeline objects for a given layout.; LavaCpuBuffer is a shared CPU-GPU buffer, useful for staging or TRON, VOLUMETRIC LINES, AND MESHLESS TUBES AT THE LITTLE With Tron: Legacy hitting theaters, I thought it’d be fun to write a post on volumetric line strips. They come in handy for a variety of effects (lightsabers, lightning, particle traces, etc.). In many cases, you can render volumetric lines by drawing thin lines into an offscreen surface, then blurring the entire surface. SNOWY - THE LITTLE GRASSHOPPER Snowy is a tiny module for manipulating and generating floating-point images. Small and flat API (free functions only). Written purely in Python 3. Accelerated with numba. Configurable boundaries ( wrap modes ). Snowy does not define a special class for images. Instead, images are always three-dimensional numpy arrays in row-major order.PAR_STREAMLINES
par_streamlines. par_streamlines.h is my dependency-free C library for triangulating wide lines, Béziers, and streamlines. The following canvases use the library inside a small WebAssembly module. There are no memory allocations occurring per-frame.PERFECT PANNING
Perfect Panning. This is a quick note about through the lens camera control. The user drags the mouse around in their viewport, which causes the camera to slide around within the plane that is parallel to the near and far clipping planes. THE LITTLE GRASSHOPPERSNOWYPERFECT PANNINGQUAD MESHESSWEEP AND PRUNEKNOTGLMARCHING SQUARESLITTLE GRASSHOPPER QUOTEMY LITTLE LIBRARYLITTLE GRASSHOPPER BOOKS APPLITTLE GRASSHOPPER LIBRARY FREE APP Philip's computer graphics blog. Quad Meshes. Tricks for rendering quad meshes with OpenGL (core profile) and computing smooth normals with transform feedback.PAR_SHAPES.H
Generate triangle meshes from parametric surfaces, polyhedra, andL-systems.
EULER'S POLYHEDRON FORMULA This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. VISUALIZING 2D VECTOR FIELDS Visualizing 2D Vector Fields. Philip Rideout, 18 July 2018. Physics textbooks often have beautiful hand-drawn illustrations. For example, here's something from The Feynman Lectures on Physics (1964): How can we generate images like this algorithmically? THE GRACEFUL TREE CONJECTURE Figure 1 depicts an example of a graph with graceful labels. Figure 1. Graceful graph with three edges. A complementary graceful labeling can be generated by subtracting each vertex label from n, as shown in the next figure.This shows that a given graph might permit more than onegraceful labeling.
OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ.FILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen Table PHILIP RIDEOUT :: BLOOM High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye). THE LITTLE GRASSHOPPER Some fun with Python, L-Systems, and RenderMan. This is a follow-up to a post I wrote exactly one year ago, Mesh Generation with Python. THE LITTLE GRASSHOPPERSNOWYPERFECT PANNINGQUAD MESHESSWEEP AND PRUNEKNOTGLMARCHING SQUARESLITTLE GRASSHOPPER QUOTEMY LITTLE LIBRARYLITTLE GRASSHOPPER BOOKS APPLITTLE GRASSHOPPER LIBRARY FREE APP Philip's computer graphics blog. Quad Meshes. Tricks for rendering quad meshes with OpenGL (core profile) and computing smooth normals with transform feedback.PAR_SHAPES.H
Generate triangle meshes from parametric surfaces, polyhedra, andL-systems.
EULER'S POLYHEDRON FORMULA This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2. VISUALIZING 2D VECTOR FIELDS Visualizing 2D Vector Fields. Philip Rideout, 18 July 2018. Physics textbooks often have beautiful hand-drawn illustrations. For example, here's something from The Feynman Lectures on Physics (1964): How can we generate images like this algorithmically? THE GRACEFUL TREE CONJECTURE Figure 1 depicts an example of a graph with graceful labels. Figure 1. Graceful graph with three edges. A complementary graceful labeling can be generated by subtracting each vertex label from n, as shown in the next figure.This shows that a given graph might permit more than onegraceful labeling.
OCTAHEDRON SUBDIVISION 18 Dec 2019. When choosing from the Platonic solids, careful you must be. ~ Yoda. Two popular ways of tessellating spheres are the UV sphere (left) and icosphere (middle). The UV sphere is a parametric surface, typically generated with a double-nested loop over θ and φ.FILAMENT KNOTS
WebGL 2.0 demo for my knot tessellation library. Uses Filament for rendering of course! 💡 KNOTGL - PRIDEOUT.NET KnotGL - prideout.net Rolfsen Table PHILIP RIDEOUT :: BLOOM High-dynamic range imaging is a sweet feature of newer graphics hardware. Color values no longer need to be clamped to . Unfortunately most displays are still LDR, but bloom is one way of "faking" super-brightness by simulating the bounce effect that happens inside a camera (or your eye). THE LITTLE GRASSHOPPER Some fun with Python, L-Systems, and RenderMan. This is a follow-up to a post I wrote exactly one year ago, Mesh Generation with Python.PAR_SHAPES.H
Generate triangle meshes from parametric surfaces, polyhedra, andL-systems.
EULER'S POLYHEDRON FORMULA This page uses continuous scrollytelling to present a variation of Legendre's proof for the following formula. V - E + F = 2. For any convex polyhedron (or planar graph), the number of vertices minus the number of edges plus the number of faces is 2.QUAD MESHES
this github project. When working with Catmull-Clark subdivision surfaces in the absence of tessellation shaders, we typically perform some sort of uniform refinement on the CPU, perhaps using OpenSubdiv.. One of the nice properties of Catmull-Clark is that you always get a clean quad mesh after one level of subdivision, even though the input topology can be composed of arbitrary polygons.CLIP PLANES
Here’s a torus with two-sided lighting and a custom clipping plane: The code for this OpenGL demo is on github: ClipPlanes.c; ClipPlanes.glsl; In olden times of yore, we used fixed-function commands like glClipPlane.Nowadays a plane equation is simply an arbitrary vec4 uniform, and you perform a dot-product test explictly in your vertex shader, sending the result to a special output. LAVA VULKAN UTILITIES Overview. Building and Running the Demos; LunarG SDK Instructions; Lava Components. LavaContext creates an instance, a device, a swap chain, and some command buffers.; LavaDescCache creates a descriptor set layout and manages a set of corollary descriptors.; LavaPipeCache manages a set of pipeline objects for a given layout.; LavaCpuBuffer is a shared CPU-GPU buffer, useful for staging orPAGE TURNING
Their paper suggests animating a page by independently deforming and rotating the mesh. They describe the deformation using simple parametric equations that take two artist-controlled time-varying parameters: Θ(t) and A y (t).So for those, I had to wing it a little. TRON, VOLUMETRIC LINES, AND MESHLESS TUBES AT THE LITTLE With Tron: Legacy hitting theaters, I thought it’d be fun to write a post on volumetric line strips. They come in handy for a variety of effects (lightsabers, lightning, particle traces, etc.). In many cases, you can render volumetric lines by drawing thin lines into an offscreen surface, then blurring the entire surface. SNOWY - THE LITTLE GRASSHOPPER Snowy also offers the compute_skylight and compute_normals functions to help with 3D rendering. These functions were used to create the following images. The first panel shows ambient occlusion generated by compute_skylight, the second panel shows the normal map generated by compute_normals, the right two panels use numpy to add diffuse lighting and a color gradient.PAR_STREAMLINES
par_streamlines. par_streamlines.h is my dependency-free C library for triangulating wide lines, Béziers, and streamlines. The following canvases use the library inside a small WebAssembly module. There are no memory allocations occurring per-frame.PERFECT PANNING
Perfect Panning. This is a quick note about through the lens camera control. The user drags the mouse around in their viewport, which causes the camera to slide around within the plane that is parallel to the near and far clipping planes.*
ROLLING CUBES AND GROUP THEORY Some notes about rolling cube games. 2020-11-11 | group theory*
GENERATING SVG FOR THE PRIME KNOTS How I created a wall poster of knot diagrams. 2020-07-28 | graph theory*
KAUFFMAN'S CROSS PRODUCTS PAPER How the Four Color Theorem relates to the algebra of cross products. 2020-05-31 | graph theory*
TAIT COLORING
Tait coloring and the Four Color Theorem. 2020-05-23 | graph theory*
THE GRACEFUL TREE CONJECTURE Graceful labelings on graphs and the GTC. 2020-03-23 | graph theory*
MY AMERICAN LINEAGE
An interactive sunburst visualization of my father's pedigree. 2020-03-17 | personal visualization*
PAGE TURN ANIMATION
Deforming a page in a book. 2020-02-19 | graphics animation*
OCTASPHERE TESSELLATION The virtues of the humble subdivided octahedron. 2019-12-18 | graphics python*
PERFECT PANNING
Pan and zoom like Google Maps, but with perspective.2019-11-14 | math
*
EULER'S POLYHEDRON FORMULA Legendre's proof of the polyhedron formula using scrollytelling.2019-09-01 | math
*
SPLIT-FREE OCCLUSION SORTING Random musings on occlusion sorting and collision detection. 2019-07-31 | graphics*
3D WIREFRAMES IN SVG Using Python to generate 3D line art. 2019-07-06 | graphics python*
PAR_STREAMLINES.H
My tiny C library for triangulating wide lines, Béziers, andstreamlines.
2019-06-29 | graphics*
IDENTITY THEFT
Timeline of my 2018 saga with identity theft. 2019-01-22 | personal*
DISTANCE FIELDS
Generating and visualizing distance fields. 2018-10-06 | graphics image processing*
PRIDEOUT/SNOWY
Small Python 3 module for manipulating and generating images. 2018-09-03 | graphics python*
STREAMLINES
Rendering streamlines for data visualization. 2018-07-18 | graphics visualization*
PRIDEOUT/LAVA
Lightweight C++ library for doing Vulkan stuff. 2018-06-16 | graphics vulkan*
ANIMATED STRAVA PATHS Fun with Strava Activities, D3, and Google Maps. 2017-12-04 | python javascript*
PAR_SPRUNE.H
My tiny C library for broad phase collision detection in 2D. 2016-02-19 | graphics*
PAR_BUBBLES.H
Single file C library for enclosing points with disks and makingbubble diagrams.
2016-01-22 | graphics*
PAR_SHAPES.H
Generate triangle meshes from parametric surfaces, polyhedra, andL-systems.
2016-01-10 | graphics*
PRIDEOUT/AOBAKER
Quick and dirty ambient occlusion baking tool. 2016-01-02 | rendering*
REMEMBER 3DLABS?
Reminiscing about my corporate alma mater. 2015-12-31 | personal*
GPU PARTICLES
GPU-Driven Particles with WebGL 1.0. 2015-12-25 | opengl graphics*
ZOOMABLE TEXTURING
Texture experiments with highly zoomable content. 2015-12-20 | opengl graphics*
MARCHING SQUARES
My single-file C library for generating triangles from images. 2015-12-06 | graphics*
HEADLESS RENDERING
Diary of adventures with headless OpenGL on an EC2 server. 2015-11-04 | opengl cloud nvidia*
RECURSIVE WANG TILES My single-file C library for generating progressive blue noise sequences via Recursive Wang Tiles.2015-10-25 | opengl
*
EMULATING DOUBLE PRECISION How to cheat your vertex shader into doing a more precise transform.2015-10-12 | opengl
*
COORDINATE FIELDS
Discusses an interesting way to encode unsigned distance. 2015-09-15 | opengl rendering*
PRIDEOUT/HEMAN
My own little open-source C library for doing heightmap stuff. 2015-08-13 | rendering*
QUAD MESHES
Tricks for rendering quad meshes with OpenGL (core profile) and computing smooth normals with transform feedback.2013-06-08 | opengl
*
ORGANIC ANIMATION
Demonstrates a type of 2D animation that's better suited to WebGL thanCanvas 2D.
2013-05-06 | webgl
*
EAR CLIPPING
Tessellation of concave polygons (with holes) in Javascript, using a simple ear clipping algorithm.2012-11-13 | webgl
*
KNOT GALLERY
Interactive gallery of the prime knots through 9 crossings.2012-06-02 | webgl
*
MODERN OPENGL
Prezo on Modern OpenGL that I put together for my colleagues.2012-05-09 | opengl
*
FLUID SIM
I open sourced my purely OpenGL-based volumetric fluid sim.2012-05-07 | opengl
*
SYMPY SURFACES
Generate interesting parametric surfaces using SymPy. 2012-05-06 | opengl python*
BARREL DISTORTION
Playing with barrel distortion.2012-03-17 | opengl
*
STRINGS INSIDE VERTEX BUFFERS Stupid OpenGL trick: embed a raw C string in a vertex buffer.2012-03-01 | opengl
*
DISTANCE PICKING
Create a distance field on the GPU, use it for point selection.2012-02-23 | opengl
*
CLIP PLANES
How to use clip planes in modern OpenGL.2012-02-12 | opengl
*
GO AND RENDERMAN
RenderMan bindings for Google's new language GO. 2011-12-29 | golang rendermanDetails
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0