Javascript

Procedural Investigations in webGL – Section IV

Section IV Getting Noisy in Here Finally the part I have been wanting to get to! One of the power players in the procedural world are methods called noise. Noise is a random (in our case pseudorandom) distribution of values over a range. Normally these values range from -1 to 1, but can have other …

Procedural Investigations in webGL – Section III

Section III Advance Spaces, Time and Polar With our new SM object put together we now have the ability to start putting together a collection of generators and other GLSL functions to create more dynamic content. If we go back to our reference book [1] starting on page 46 it starts reviewing some interesting methods …

Procedural Investigations in webGL – Section II

Section II: Uniforms and UI With the ability to create the likeness of a brick wall we can now start adding some controls that will allow the testing of various parameter values in real time. There would be a multitude of ways to handle this the most simple being using HTML DOM elements. If you …

Procedural Investigations in webGL – Section I

Section I: Sampling Space and Manipulations Now that we have a basic development environment set up, it would be prudent to review different methods for sampling and manipulating the coordinate system that dictates the output of our procedural processes. We will be basically reviewing built in functions to glsl that will help us in controlling …

Procedural Investigations in webGL – Introduction

Preface In modern times the need to generate robust procedural content has become more prevalent then ever. With advancements in CPU/GPU processing power the ability to create dynamic content on the fly is now an option more then ever. What started out as a means to produce simple representations of natural processes has now grown …

Cellular Automata Algorithms (Part 1)

There are various algorithms to describe the development of cellular systems and how they maintain, develop or degrade overtime. It is usually represented by a grid system where the various cells positions are identified and their state is stored as a variable. The state of the cell and its neighboring cells will determine how the …

0 comments

Infinite Terrain with Ring LOD and t-Junction Transitions

So Babylon JS currently does not have very robust terrain options especially with LOD considerations. After a little bit of side development I was able to have a decent algorithm be implemented. It was inspired by chunked quad-tree LOD system, but is slightly modified. I also used my Das_Noise library for the noise generation and …

0 comments

Universal IO – Development Experiment

Universal IO Experimentation in a Timing Object Here is a development log of trying to make a universal intensive operation timer. This is all pretty much off the top of my head. I’ll be making notes on here as localhost development proceeds throughout the day. Step 1 Setting up our prototype object **pseudo code uIO …

0 comments

Das_Noise

Das_Noise was a project I started for procedural generation of noise through a native JavaScript library. It includes most standard noises and there are version floating around that I did with some odd ones as well. This should be the stable version on my github, if not then I will be fixing that momentary because …

0 comments

Vector2.js – Vector Library

Just include this js file. Call an new vector with: new vec2(x,y); All Methods are chainable. copy(vec) – Copy Values from one vec2 to other. vec => vec2 return => vec clone() – Make new vec2 from a vec2 return => new vec2 perp() – Get the Perpendicular angle; return => vec2 rotate(angle) – Rotate …

0 comments