glsl | Geeks3D https://www.geeks3d.com Graphics Cards and GPUs News, Graphics Programming, Home of FurMark Fri, 28 Feb 2020 07:32:09 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.1 https://www.geeks3d.com/wp-content/uploads/2024/10/cropped-geeks3d-icon-20241010-01-32x32.jpg glsl | Geeks3D https://www.geeks3d.com 32 32 GLSL to SPIR-V / SMOL-V Utility https://www.geeks3d.com/20200227/glsl-to-spir-v-smol-v-utility/ Thu, 27 Feb 2020 17:51:00 +0000 https://www.geeks3d.com/?p=10008 DOWNLOAD GLSL to SPIR-V / SMOL-V utility for Windows 64-bit Forum thread (EN) Here is a small utility that generates SPIR-V and SMOL-V binary modules (for Vulkan and OpenGL applications) from a GLSL shader. SMOL-V is a compressor for SPIR-V shader modules: SMOL-V encodes Vulkan/Khronos SPIR-V format programs into a form that is smoller, and is more compressible. Normally no changes to the programs are … Continue reading GLSL to SPIR-V / SMOL-V Utility »

The post GLSL to SPIR-V / SMOL-V Utility first appeared on Geeks3D.]]>
Clock Demo for the Raspberry Pi https://www.geeks3d.com/20160108/clock-demo-for-the-raspberry-pi/ Fri, 08 Jan 2016 13:50:49 +0000 http://www.geeks3d.com/?p=9185 Don’t know what to do with the 7-inch touchscreen display you bought for your Raspberry Pi? Transform it in a clock. Here is a ready-to-use GeeXLab demo (OpenGL ES 2.0), that displays a clock. The clock is based on this Shadertoy demo and is a pure procedural clock: it’s 100% rendered with a GLSL pixel shader. On a Raspberry Pi 2, the clock demo runs … Continue reading Clock Demo for the Raspberry Pi »

The post Clock Demo for the Raspberry Pi first appeared on Geeks3D.]]>
GLSL Hacker Stopped, GeeXLab 0.9.1.0 Released with Direct3D 12 Support https://www.geeks3d.com/20151207/glsl-hacker-stopped-geexlab-0-9-1-0-released-with-direct3d-12-support/ https://www.geeks3d.com/20151207/glsl-hacker-stopped-geexlab-0-9-1-0-released-with-direct3d-12-support/#comments Mon, 07 Dec 2015 21:51:11 +0000 http://www.geeks3d.com/?p=9176 The GLSL Hacker project is now officially stopped. To make a long story short, the support of Direct3D 12 as well as the upcoming support of Vulkan (when it will be available) are the main reasons that have led to a change of name. Yes, GeeXLab is back and it’s simply the new name of GLSL Hacker. I detailled the transition and the choice of … Continue reading GLSL Hacker Stopped, GeeXLab 0.9.1.0 Released with Direct3D 12 Support »

The post GLSL Hacker Stopped, GeeXLab 0.9.1.0 Released with Direct3D 12 Support first appeared on Geeks3D.]]>
https://www.geeks3d.com/20151207/glsl-hacker-stopped-geexlab-0-9-1-0-released-with-direct3d-12-support/feed/ 2
GLSL Hacker 0.8.4 Released for Windows, Linux, OS X and Raspberry Pi https://www.geeks3d.com/20150511/glsl-hacker-0-8-4-released-for-windows-linux-os-x-and-raspberry-pi/ Mon, 11 May 2015 15:44:21 +0000 http://www.geeks3d.com/?p=9037 1 – Overview 2 – Downloads 3 – Screenshots 4 – Changelog A new update of GLSL Hacker is ready for your pixel hacking cravings. GLSL Hacker is a free cross-platform demotool (Windows, OS X, Linux and Raspberry Pi) for creating demos, games, interactive applications and creative coding. It is based on on Lua and Python programming languages as well as GLSL for OpenGL real … Continue reading GLSL Hacker 0.8.4 Released for Windows, Linux, OS X and Raspberry Pi »

The post GLSL Hacker 0.8.4 Released for Windows, Linux, OS X and Raspberry Pi first appeared on Geeks3D.]]>
MadShaders 0.4.0 Released for Windows, Linux and Mac OS X (*** Updated: v0.4.1***) https://www.geeks3d.com/20150227/madshaders-0-4-0-best-glsl-pixel-shaders-windows-linux-macosx/ https://www.geeks3d.com/20150227/madshaders-0-4-0-best-glsl-pixel-shaders-windows-linux-macosx/#comments Fri, 27 Feb 2015 17:13:36 +0000 http://www.geeks3d.com/?p=8991 I finally decided to take some time to browse and test the latest Shadertoy demos (Firefox/Chrome users on Windows: don’t forget to disable Angle and set the native WebGL support to browse Shadertoy website – more information on the procedure can be found HERE). Hundred and hundred of demos have been created on Shadertoy since MadShaders 0.3.0 and after few hours of browsing, I selected … Continue reading MadShaders 0.4.0 Released for Windows, Linux and Mac OS X (*** Updated: v0.4.1***) »

The post MadShaders 0.4.0 Released for Windows, Linux and Mac OS X (*** Updated: v0.4.1***) first appeared on Geeks3D.]]>
https://www.geeks3d.com/20150227/madshaders-0-4-0-best-glsl-pixel-shaders-windows-linux-macosx/feed/ 7
GLSL Hacker 0.8.1.x Released https://www.geeks3d.com/20150225/glsl-hacker-0-8-1-x-released/ Wed, 25 Feb 2015 18:44:58 +0000 http://www.geeks3d.com/?p=8987 A new version of GLSL Hacker (0.8.1.6 at the time of writing) is ready for Windows, Linux and Mac OS X. The branch 0.8.1.x does not bring new important features but rather focuses on stability and brings a lot of bug-fixes and improvements. The complete changelog is available HERE. The latest version of GLSL Hacker can be downloaded from THIS PAGE. A blog dedicated to … Continue reading GLSL Hacker 0.8.1.x Released »

The post GLSL Hacker 0.8.1.x Released first appeared on Geeks3D.]]>
How to Rotate a Vertex by a Quaternion in GLSL (*Updated*) https://www.geeks3d.com/20141201/how-to-rotate-a-vertex-by-a-quaternion-in-glsl/ https://www.geeks3d.com/20141201/how-to-rotate-a-vertex-by-a-quaternion-in-glsl/#comments Mon, 01 Dec 2014 20:34:13 +0000 http://www.geeks3d.com/?p=8953 In a vertex shader, the rotation and position are usually encoded in the model matrix and we have something like this: vec4 worldPos = ModelMatrix * InPosition; Here is another method to transform the position of a vertex, using a quaternion to hold the rotation information. Quaternions are a fantastic mathematics tool discovered by Sir William Rowan Hamilton in 1843. We’re not going to review … Continue reading How to Rotate a Vertex by a Quaternion in GLSL (*Updated*) »

The post How to Rotate a Vertex by a Quaternion in GLSL (*Updated*) first appeared on Geeks3D.]]>
https://www.geeks3d.com/20141201/how-to-rotate-a-vertex-by-a-quaternion-in-glsl/feed/ 4
GLSL Hacker 0.8.0 Released https://www.geeks3d.com/20141103/glsl-hacker-0-8-0-released/ Mon, 03 Nov 2014 19:14:55 +0000 http://www.geeks3d.com/?p=8931 A new version of GLSL Hacker is ready for your 3D demos and prototypes on Windows, Linux and OS X. Here is an overview of the main changes and features available in GLSL Hacker 0.8.0 since the last official release: support of omnidirectional shadow mapping with cubemaps. support of TTF (True Type Font) and OTF (Open Type Font) files with a new plugin based on … Continue reading GLSL Hacker 0.8.0 Released »

The post GLSL Hacker 0.8.0 Released first appeared on Geeks3D.]]>
(Test) Particle Rendering: Point Sprites vs Geometry Instancing based Billboards https://www.geeks3d.com/20140929/test-particle-rendering-point-sprites-vs-geometry-instancing-based-billboards/ https://www.geeks3d.com/20140929/test-particle-rendering-point-sprites-vs-geometry-instancing-based-billboards/#comments Mon, 29 Sep 2014 15:09:38 +0000 http://www.geeks3d.com/?p=8903 In this article, I compared two methods for rendering a lot of particles: 1 – the first method is based on point sprites GPU built-in feature. We send an array of points, and the GPU transform them into billboards (quads facing the camera). 2 – the second method is based on the first: we send an array of points, but we use a geometry shader … Continue reading (Test) Particle Rendering: Point Sprites vs Geometry Instancing based Billboards »

The post (Test) Particle Rendering: Point Sprites vs Geometry Instancing based Billboards first appeared on Geeks3D.]]>
https://www.geeks3d.com/20140929/test-particle-rendering-point-sprites-vs-geometry-instancing-based-billboards/feed/ 6
Particle Billboarding with the Geometry Shader (GLSL) https://www.geeks3d.com/20140815/particle-billboarding-with-the-geometry-shader-glsl/ https://www.geeks3d.com/20140815/particle-billboarding-with-the-geometry-shader-glsl/#comments Fri, 15 Aug 2014 11:54:55 +0000 http://www.geeks3d.com/?p=8863 We learnt what the le billboarding is and how to implement it in the vertex shader, we can now look at another technique to achieve billboarding, particularly well suited for particle rendering. Usually, particles are points (a 3D position per particle) and the rendering of a textured particle requires a point to quad transformation. Point sprites are a nice solution for particle rendering. But, if … Continue reading Particle Billboarding with the Geometry Shader (GLSL) »

The post Particle Billboarding with the Geometry Shader (GLSL) first appeared on Geeks3D.]]>
https://www.geeks3d.com/20140815/particle-billboarding-with-the-geometry-shader-glsl/feed/ 1
Simple Billboarding Vertex Shader (GLSL) https://www.geeks3d.com/20140807/billboarding-vertex-shader-glsl/ https://www.geeks3d.com/20140807/billboarding-vertex-shader-glsl/#comments Thu, 07 Aug 2014 13:52:16 +0000 http://www.geeks3d.com/?p=8861 Spherical billboarding Billboarding is a popular technique used in 3D graphics programming. Billboarding allows an object (usually a quad) to always face a given camera. Here are some common uses of billboarding: – particles – halo surrounding an object – trees rendering For the particular case of particles, the billboarding is a GPU built-in feature when point-sprites are used (a single point is transformed to … Continue reading Simple Billboarding Vertex Shader (GLSL) »

The post Simple Billboarding Vertex Shader (GLSL) first appeared on Geeks3D.]]>
https://www.geeks3d.com/20140807/billboarding-vertex-shader-glsl/feed/ 1
GPU Buffers: Introduction to OpenGL 4.3 Shader Storage Buffers Objects https://www.geeks3d.com/20140704/tutorial-introduction-to-opengl-4-3-shader-storage-buffers-objects-ssbo-demo/ Fri, 04 Jul 2014 18:31:08 +0000 http://www.geeks3d.com/?p=8855 Article index: 1 – Introduction 2 – OpenGL Code 3 – Demo and References 1 – Introduction In this tutorial, we meet Uniform Buffer Objects (or UBO). To sum up a little bit, UBOs are read-only GPU-accessible memory zones for a GLSL shader. The size of an UBO is somewhat limited: 64KB for AMD and NVIDIA GPUs and 16KB for Intel ones. Limited size, read-only … Continue reading GPU Buffers: Introduction to OpenGL 4.3 Shader Storage Buffers Objects »

The post GPU Buffers: Introduction to OpenGL 4.3 Shader Storage Buffers Objects first appeared on Geeks3D.]]>
GPU Buffers: Introduction to OpenGL 3.1 Uniform Buffers Objects https://www.geeks3d.com/20140704/gpu-buffers-introduction-to-opengl-3-1-uniform-buffers-objects/ https://www.geeks3d.com/20140704/gpu-buffers-introduction-to-opengl-3-1-uniform-buffers-objects/#comments Fri, 04 Jul 2014 12:35:46 +0000 http://www.geeks3d.com/?p=8853 Article index: 1 – Introduction 2 – OpenGL Details 3 – Demo and References 1 – Introduction Uniform Buffer Objects (or UBO in short) have been introduced with OpenGL 3.1. The uniform buffers bible can be found here: GL_ARB_uniform_buffer_object. Uniform buffers are memory zones allocated in the video memory of the graphics card (they are GPU buffers) and allow to pass data from host application … Continue reading GPU Buffers: Introduction to OpenGL 3.1 Uniform Buffers Objects »

The post GPU Buffers: Introduction to OpenGL 3.1 Uniform Buffers Objects first appeared on Geeks3D.]]>
https://www.geeks3d.com/20140704/gpu-buffers-introduction-to-opengl-3-1-uniform-buffers-objects/feed/ 4
Simple Introduction to OpenGL 4 Shader Subroutines https://www.geeks3d.com/20140701/opengl-4-shader-subroutines-introduction-3d-programming-tutorial/ https://www.geeks3d.com/20140701/opengl-4-shader-subroutines-introduction-3d-programming-tutorial/#comments Tue, 01 Jul 2014 15:26:26 +0000 http://www.geeks3d.com/?p=8821 Article index: 1 – Overview 2 – Shader Subroutines Details 3 – References 1 – Overview Shader subroutines are a feature introduced in OpenGL 4.0 via this extension: GL_ARB_shader_subroutine: This extension adds support to shaders for “indirect subroutine calls”, where a single shader can include many subroutines and dynamically select through the API which subroutine is called from each call site. Switching subroutines dynamically in … Continue reading Simple Introduction to OpenGL 4 Shader Subroutines »

The post Simple Introduction to OpenGL 4 Shader Subroutines first appeared on Geeks3D.]]>
https://www.geeks3d.com/20140701/opengl-4-shader-subroutines-introduction-3d-programming-tutorial/feed/ 3
Mesh Exploder with Geometry Shaders https://www.geeks3d.com/20140625/mesh-exploder-with-geometry-shaders/ https://www.geeks3d.com/20140625/mesh-exploder-with-geometry-shaders/#comments Wed, 25 Jun 2014 10:00:56 +0000 http://www.geeks3d.com/?p=8846 Today, a simple but cool geometry shader (OpenGL 3.2) based demo: a mesh exploder. This demo is a simple use-case of geometry shaders where geometry shaders do not create (amplification) or kill vertices. They just deform input vertices. If you need some explanations about GS, you can read these articles: Simple Introduction to Geometry Shaders in GLSL (Part 1) Simple Introduction to Geometry Shaders in … Continue reading Mesh Exploder with Geometry Shaders »

The post Mesh Exploder with Geometry Shaders first appeared on Geeks3D.]]>
https://www.geeks3d.com/20140625/mesh-exploder-with-geometry-shaders/feed/ 2
GLSL Hacker 0.7.0.0 Released https://www.geeks3d.com/20140623/glsl-hacker-0-7-0-0-released/ Mon, 23 Jun 2014 20:33:13 +0000 http://www.geeks3d.com/?p=8844 Particle painting A new version of GLSL Hacker is available. GLSL Hacker 0.7.0 brings a lot of changes and new features since the last official release. Here is an overview of the main new features: added support of GPU buffers: GLSL Hacker 0.7.0 comes with a new lib called gh_gpu_buffer that allows to manage OpenGL hardware buffers like uniform buffers (OpenGL 3.1), shader storage buffers … Continue reading GLSL Hacker 0.7.0.0 Released »

The post GLSL Hacker 0.7.0.0 Released first appeared on Geeks3D.]]>
GLSL.io: A Helpful Collection of GLSL Transition Effects https://www.geeks3d.com/20140524/glsl-io-a-helpful-collection-of-glsl-transition-effects/ Sat, 24 May 2014 15:37:41 +0000 http://www.geeks3d.com/?p=8827 The cool PageCurl effect ported to GLSL Hacker GLSL.io is a new website that offers a stack of transition effects in GLSL (OpenGL Shading Language). These effects can be use in any slideshow or video editor, in any situation where you need a cool transition between two images (or two render targets!). I couldn’t resist to port some of these GLSL transitions to GLSL Hacker. … Continue reading GLSL.io: A Helpful Collection of GLSL Transition Effects »

The post GLSL.io: A Helpful Collection of GLSL Transition Effects first appeared on Geeks3D.]]>
(GLSL Shader Library) Toonify Post Processing Filter https://www.geeks3d.com/20140523/glsl-shader-library-toonify-post-processing-filter/ Fri, 23 May 2014 09:33:43 +0000 http://www.geeks3d.com/?p=8825 Here is a new entry in the GLSL Shader Library: a toonify post processing filter. This filter creates a cartoon version of an image. You can use the mouse (the vertical red line) to see the difference between the original and toonified versions of the image. It would be interesting to update this shader with another edge detector. I’ll do it later. A demo for … Continue reading (GLSL Shader Library) Toonify Post Processing Filter »

The post (GLSL Shader Library) Toonify Post Processing Filter first appeared on Geeks3D.]]>
(Shader Library) Bumpy Sphere Env Normal Mapping https://www.geeks3d.com/20140521/shader-library-bumpy-sphere-env-normal-mapping/ Wed, 21 May 2014 18:43:24 +0000 http://www.geeks3d.com/?p=8820 Here is a new entry in the GLSL Shader Library: a bump sphere environment normal mapping shader. A demo for GLSL Hacker is available in the moon3d/gl-320-bumpy-sphere-normal-mapping/ folder of the code sample pack. The latest GLSL Hacker can be downloaded from this page. Like the shader in this article, this bumpy shader computes the tangent space directly in the fragment shader. Here are the GLSL … Continue reading (Shader Library) Bumpy Sphere Env Normal Mapping »

The post (Shader Library) Bumpy Sphere Env Normal Mapping first appeared on Geeks3D.]]>
GLSL Hacker 0.6.3.19 Released https://www.geeks3d.com/20140509/glsl-hacker-0-6-3-19-released/ https://www.geeks3d.com/20140509/glsl-hacker-0-6-3-19-released/#comments Fri, 09 May 2014 15:56:09 +0000 http://www.geeks3d.com/?p=8813 A new DEV version of GLSL Hacker is ready and can be downloaded from this page: GLSL Hacker Downloads. Due to the huge amount of changes between the official and DEV versions, I decided to remove the downloads of the official versions so now only the latest DEV versions can be downloaded. GLSL Hacker 0.6.3.19 fixes many (many…) bugs and adds new features. Here is … Continue reading GLSL Hacker 0.6.3.19 Released »

The post GLSL Hacker 0.6.3.19 Released first appeared on Geeks3D.]]>
https://www.geeks3d.com/20140509/glsl-hacker-0-6-3-19-released/feed/ 5