THREE.MeshLine - Mesh replacement for THREE.Line

  •        49

First, create the list of vertices that will define the line. MeshLine accepts THREE.Geometry (looking up the .vertices in it) and Array/Float32Array. THREE.BufferGeometry coming soon, and may be others like Array of THREE.Vector3. Once you have that, you can create a new MeshLine, and call .setGeometry() passing the vertices.

https://github.com/spite/THREE.MeshLine#readme

Tags
Implementation
License
Platform

   




Related Projects

ShaderParticleEngine - A GLSL-heavy particle engine for THREE

  •    Javascript

The purpose of this library is to make creating particle effects using THREE.js and WebGL as simple as possible. The heavy-lifting is done by the GPU, freeing up CPU cycles. Emitters are created by first creating an instance of SPE.Group. It is in the group where ShaderMaterial settings are applied, and the texture for all emitters added to that group is set. Multiple groups can be created, but if efficiency is a high-priority then as few groups as possible should be created. The group takes care of uploading emitter data to the GPU for simulation and rendering, so the fewer chunks of data that get sent the better.

glsl-optimizer - GLSL optimizer based on Mesa's GLSL compiler

  •    C++

A C++ library that takes GLSL shaders, does some GPU-independent optimizations on them and outputs GLSL or Metal source back. Optimizations are function inlining, dead code removal, copy propagation, constant folding, constant propagation, arithmetic optimizations and so on. Apparently quite a few mobile platforms are pretty bad at optimizing shaders; and unfortunately they also lack offline shader compilers. So using a GLSL optimizer offline before can make the shader run much faster on a platform like that. See performance numbers in this blog post.

glslCanvas - Simple tool to load GLSL shaders on HTML Canvas using WebGL

  •    Javascript

GlslCanvas is JavaScript Library that helps you easily load GLSL Fragment and Vertex Shaders into an HTML canvas. I have used this in my Book of Shaders and glslEditor. That's all! glslCanvas will automatically load a WebGL context in that <canvas> element, compile the shader and animate it for you.

glslEditor - Simple WebGL Fragment Shader Editor

  •    Javascript

Friendly GLSL Shader editor based on Codemirror compatible with glslViewer (C++/OpenGL ES) and glslCanvas (JS/WebGL). Was originaly develop to work as a embebed editor for The Book of Shaders. But now have grown as a stand alone Web app. Thanks to their compatibility with other apps of this ecosystems like glslViewer that runs in the RaspberryPi directly from console, GlslEditor interact with other projects like OpenFrame.io allowing the user to export the shaders to frames with only one button.

glsl-lighting-walkthrough - :bulb: phong shading tutorial with glslify

  •    Javascript

It is not intended as a full-blown beginner's guide, and assumes prior knowledge of WebGL and stackgl rendering. Although it is implemented with stackgl, the same concepts and shader code could be used in ThreeJS and other frameworks. If you have questions, comments or improvements, please post a new issue.


glslify - :sparkles: A node.js-style module system for GLSL!

  •    Javascript

It forms one of the core components of the stack.gl ecosystem, allowing you to install GLSL modules from npm and use them in your shaders. This makes it trivial to piece together different effects and techniques from the community, including but certainly not limited to fog, noise, film grain, raymarching helpers, easing functions and lighting models. A full list can be found on the stack.gl packages list under the "Shader Components" category.

gnuplot - command-line driven graphing utility

  •    C

gnuplot is a command-driven interactive function plotting program. It can be used to plot functions and data points in both two- and three-dimensional plots in many different formats. It is designed primarily for the visual display of scientific data.

ShaderEditorExtension - Google Chrome DevTools extension to live edit WebGL GLSL shaders

  •    Javascript

Alternatively, you can pack the extension yourself and load by dropping the .crx file in the Extensions page.

gamma - glsl shaders made simple

  •    Clojure

Gamma is a substrate for graphics software, such as games and data visualization tools. It presents a simple, composable language for representing GLSL shaders. Technically, Gamma is an EDSL that hosts GLSL within Clojurescript. It is inspired by Carlos Scheidegger's Lux and Conal Elliot's Vertigo and Pan. Gamma targets the WebGL subset of the OpenGL ES 1.0 Shading Language. Gamma can be used a la carte to compile shader source, without adopting Clojure/Clojurescript for your runtime application.

psx_retroshader - Shader that "emulates" the rendering style of ps1

  •    GLSL

All shaders supports Fog, polygon cut-out & distortion amount. #Warning Like the original ps1 this shader use affine texture mapping, so if you apply a texture on a large quad you'll see it very distored. To avoid excessive distortion you have to add triangless to the mesh.

ShaderSketches - KodeLife shader sketches I wrote while commuting

  •    GLSL

This is a repository that stores GLSL shader sketches I created while commuting every day. You can see GIFs of these sketches from my Tumblr. I'm using KodeLife shader editor and GPD Win handheld PC for sketching. In my opinion, this is the best combination of portable development. I created all these sketches while standing in a train.

tinyrenderers

  •    C++

[2017/11/12] - Added simple tessellation shader sample. Fixed misc issues with pipeline setup for tessellation. [2017/11/10] - Added ChessSet demo. Added geometry shader sample. Fixes to depth stencil handling. [2017/11/10] - Added TexturedCube sample. Updated depth attachment handling on swapchain render pass. Switched out lc_image for stb_image. Added DXC shader build script. [2017/05/27] - Fixed some annoying buffer state transitions. Added build script for shaders. Updated shader naming convention to be more exact. Added OpaqueArgs and PassingArrays for investigation. [2017/05/20] - Updated Append/Consume sample for Vulkan. Requires latest glslang. ConstantBuffer also works for both platforms. [2017/05/13] - Added Linux support. Moved to project files to cmake. Moved glsl shaders to glsl sub directory - forcing HLSL for now. [2017/04/30] - Clarified shader usage in some sample programs to point out which source they're coming from. [2017/04/27] - Added ConstantBuffer sample (D3D12 only for now). Updated Vulkan samples to use negative viewport height. [2017/04/25] - Updated SimpleCompute and StructuredBuffer to work on Vulkan. [2017/04/24] - Added compute samples (D3D12 only for now). One for simple compute and another for structured buffers.

NShader - HLSL - GLSL - CG - Shader Syntax Highlighter AddIn for Visual Studio

  •    

NShader is an extension to Visual Studio 2008/2010/2012 that provides syntax highlighting for various shader languages including HLSL - GLSL - CG.

graphosaurus - 3D graph viewer powered by WebGL (three.js)

  •    Javascript

A three-dimensional static graph viewer. JSDoc generated API documentation can be found here.

react-three - React bindings to create and control a 3D scene using three.js

  •    Javascript

Create/control a three.js canvas using React. To use React for drawing 2D using WebGL, try react-pixi.

webgl-workshop - :mortar_board: The sequel to shader-school: Learn the WebGL API

  •    Javascript

Learn the basics of WebGL in small, manageable chunks. The sequel to shader-school, created for CampJS IV by Mikola Lysenko and Hugh Kennedy. The script will ask you if you want to create an answer directory, press y to accept. This will populate your current directory with shader files for you to edit for each lesson.

polygon-shredder - The polygon shredder that takes many cubes and turns them into confetti

  •    Javascript

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Wagner - Effects composer for three.js

  •    Javascript

Please use it only for review and test purposes. Don't hesitate to add issues or open a conversation about design decisions. Most of the shaders are from https://github.com/evanw/glfx.js. Others are from different sources and forums, papers, or my own.

MusicVisualization - Some music visualization demos on Android.

  •    Java

This project ports some music visulization shaders from WebGL(Shadertoy.com) to Android OpenGL ES. It captures the audio's fft & waveform data by system's Visualizer, and then pass them to a 2-lines height texture that can be used in a shader program (more detail).

glslViewer - Live GLSL coding render for MacOS and Linux

  •    C++

Live-coding console tool that renders GLSL Shaders. Every file you use (frag/vert shader, images and geometries) are watched for modification, so they can be updated on the fly. This was tested with Ubuntu 16.04.