# OpenGL - frameworks & libraries

A Primer on Bézier Curves. Preface In order to draw things in 2D, we usually rely on lines, which typically get classified into two categories: straight lines, and curves. The first of these are as easy to draw as they are easy to make a computer draw. Give a computer the first and last point in the line, and BAM! Straight line. Curves, however, are a much bigger problem. They're named after Pierre Bézier, who is principally responsible for getting them known to the world as a curve well-suited for design work (working for Renault and publishing his investigations in 1962), although he was not the first, or only one, to "invent" these type of curves. So, what if you need to program them yourself? —Pomax (or in the tweetworld, @TheRealPomax) Note: virtually all Bézier graphics are interactive. This page uses interactive examples, relying heavily on Bezier.js, as well as "real" maths (in LaTeX form) which is typeset using the most excellent MathJax library.

This book is open source. Questions, comments: Perfect. And.

## Tools & utilities

WebGL. Pixel Shaders: An Interactive Introduction to Graphics Programming. Shadertoy BETA. ME | Tech. Aerotwist - Getting Started with Three.js. ## Introduction I have used Three.js for some of my experiments, and it does a really great job of abstracting away the headaches of getting going with 3D in the browser. With it you can create cameras, objects, lights, materials and more, and you have a choice of renderer, which means you can decide if you want your scene to be drawn using HTML 5’s canvas, WebGL or SVG. And since it’s open source you could even get involved with the project. But right now I’ll focus on what I’ve learned by playing with it as an engine, and talk you through some of the basics. For all the awesomeness of Three.js, there can be times where you might struggle. Typically you will need to spend quite a large amount of time with the examples, reverse engineering and (in my case certainly) hunting down specific functionality and occasionally asking questions via GitHub.

The basics I will assume that you have at least a passing knowledge of 3D, and reasonable proficiency with JavaScript. Support Set the Scene. Three.js - documentation - Manual - Creating a scene. Blog Archive.