All Projects → johanhenriksson → goworld

johanhenriksson / goworld

Licence: other
Experimental OpenGL-based 3D Engine witten in Go

Programming Languages

go
31211 projects - #10 most used programming language
GLSL
2045 projects

Projects that are alternatives of or similar to goworld

glslc
Simple GLSL compilation checker that uses the display driver
Stars: ✭ 24 (+4.35%)
Mutual labels:  glsl
basegl-old
A blazing fast WebGL drawing API.
Stars: ✭ 21 (-8.7%)
Mutual labels:  glsl
gamedex
👾 The code for my game dev + computer graphics experiments on YouTube.
Stars: ✭ 165 (+617.39%)
Mutual labels:  glsl
glsl-smaa
SMAA (Enhanced Subpixel Morphological Antialiasing) post-processing; WebGL (OpenGL ES 2.0) implementation with no fluff.
Stars: ✭ 54 (+134.78%)
Mutual labels:  glsl
card-game-GLSL
card game in the single GLSL shader
Stars: ✭ 20 (-13.04%)
Mutual labels:  glsl
pilka
Another live-coding tool for creating shader demos, Vulkan+Wgpu powered.
Stars: ✭ 84 (+265.22%)
Mutual labels:  glsl
shaderview
A GLSL shader development tool for the LÖVE game framework.
Stars: ✭ 22 (-4.35%)
Mutual labels:  glsl
sph vulkan
SPH simulation in Vulkan compute shader.
Stars: ✭ 29 (+26.09%)
Mutual labels:  glsl
webgl-noise-examples
examples about noise
Stars: ✭ 72 (+213.04%)
Mutual labels:  glsl
nerv pathtracer
a pathtracer with physically based rendering in mind
Stars: ✭ 27 (+17.39%)
Mutual labels:  glsl
PhaserCHOP
A TouchDesigner channel operator for phase-staggered animations
Stars: ✭ 15 (-34.78%)
Mutual labels:  glsl
defisheye
convert ricoh-theta dual fisheye video to equirectangular format
Stars: ✭ 47 (+104.35%)
Mutual labels:  glsl
react-native-glshaders-testing
Just a demo app that mimic some Instagram + Snapchat features
Stars: ✭ 52 (+126.09%)
Mutual labels:  glsl
spritekit-water-node
🌊 Custom SpriteKit node that allows to simulate 2D water with respect to physics. The app demonstrates Flocking behaviour using GameplayKit, key-frame animation and custom fragment shader chaining (GLSL) 🤯
Stars: ✭ 82 (+256.52%)
Mutual labels:  glsl
generative
Creative coding experiments
Stars: ✭ 71 (+208.7%)
Mutual labels:  glsl
WaterColor
openframeworks parametric shader effect watercolor
Stars: ✭ 54 (+134.78%)
Mutual labels:  glsl
Shader-Playgrounds
A WebGL shaders editor for beginners and otherwise.
Stars: ✭ 28 (+21.74%)
Mutual labels:  glsl
redcube
JS renderer based on GLTF to WebGPU or WebGL backends.
Stars: ✭ 86 (+273.91%)
Mutual labels:  glsl
manyworlds
A scifi-inspired study of signed distanced functions and noise fields in WebGL
Stars: ✭ 24 (+4.35%)
Mutual labels:  glsl
OceanSimulation
Ocean Simulation Based on a Model By Keith Lantz (https://www.keithlantz.net/)
Stars: ✭ 16 (-30.43%)
Mutual labels:  glsl

goworld

Not in active development! Working on it occasionally.

Yet another attempt at building a basic OpenGL 3D engine from scratch, this time in Go. The goal is to create a engine capable of producing some kind of passable graphics with a coherent art style. So far, the style is based around colored voxels.

Features:

  • Voxel editor demo with basic player physics
  • Deferred Rendering Pipeline
  • Directional Lights
  • Directional Shadows
  • Point Lights
  • Screen-Space Ambient Occlusion (HBAO)
  • Color Grading with Lookup Tables
  • OBJ Model Loader
  • TrueType Font Rendering
  • React-like UI including a flexbox layout engine
  • Custom ergonomic 3D math library derived from mathgl and go3d

Tested on OSX 10.10+ and Manjaro Linux. It should theoretically work on Windows.

Screenshot from 2022-02-27 Screenshot from 2020-09-26 Screenshot from 2019-05-07

System Requirements

  • OpenGL 4.1 Core Profile

Todo / Ideas

  • User Interface elements:
    • Textbox
  • Console
  • Lighting
    • Point Light shadows
    • Spot Light
    • Spot Light shadows
  • Bloom Post-Process Effect

Building

Open Dynamics Engine

  • Download ODE 0.16.2
  • Extract tarball
  • Configure
    $ ./configure --enable-double-precision --enable-shared
    
  • Compile
    make
    
  • Install Shared Library
    make install
    
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].