A newer version of Max is available. Click here to access the latest version of the Max documentation

Working with OpenGL

Working with OpenGL

In addition to working with video data, Jitter also provides an interface to OpenGL, a tool for generating graphics dynamically. Instead of processing video directly, OpenGL renders images from a scene containing objects, textures and lighting. OpenGL can be used to generate complex and reactive graphics in real time. Through the jit.phys objects, it can also use its built-in physics engine to simulate the interaction of physical objects.

Swappable Graphics Engine

The OpenGL implementation used by Jitter is determined by the swappable graphics engine. Currently Jitter ships with two engine variants, legacy OpenGL (gl2) and core profile OpenGL (glcore). As of Max 8.5 the default graphics engine used by Jitter is glcore, which was formerly termed gl3. Users needing legacy behavior can set the Graphics Engine preference to gl2.

Graphics Engine Preference

In Max's preferences (Max > Preferences), under the Jitter section, there is an entry titled Graphics Engine (@gfxengine). Using the drop-down menu for this entry, you may select the graphics engine you wish to use: gl2 or glcore. When changing the graphics engine, please note that you will have to restart Max for the change to take effect.

OpenGL Topics

Online Tutorials

Basics

Gen

Physics

Other

See Also

Name Description
Video and Graphics Programming Tutorials Video and Graphics Programming Tutorials
Video and Graphics Tutorials Video and Graphics Programming Tutorials
Jitter Examples Listing Jitter Examples Listing
Jitter Javascript Examples Listing Jitter Javascript Examples Listing
Jitter OpenGL Examples Listing Jitter OpenGL Examples Listing
Advanced Jitter topics Advanced Jitter topics
Appendix B: The OpenGL Matrix Format Appendix B: The OpenGL Matrix Format
Appendix C: The JXS File Format Appendix C: The JXS File Format
jsui, Sketch and OpenGL jsui, Sketch and OpenGL
jit.gl.lua OpenGL Bindings jit.gl.lua OpenGL Bindings
jit.gl.lua OpenGL GLU Bindings jit.gl.lua OpenGL GLU Bindings
Tutorial 30: Drawing 3D text Tutorial 30: Drawing 3D text
Tutorial 31: Rendering Destinations Tutorial 31: Rendering Destinations
Tutorial 32: Camera View Tutorial 32: Camera View
Tutorial 33: Polygon Modes, Colors and Blending Tutorial 33: Polygon Modes, Colors and Blending
Tutorial 34: Using Textures Tutorial 34: Using Textures
Tutorial 35: Lighting and Fog Tutorial 35: Lighting and Fog
Tutorial 36: 3D Models Tutorial 36: 3D Models
Tutorial 37: Geometry Under the Hood Tutorial 37: Geometry Under the Hood
Tutorial 38: Basic Performance Setup Tutorial 38: Basic Performance Setup
Tutorial 39: Spatial Mapping Tutorial 39: Spatial Mapping
Tutorial 40: Drawing in OpenGL using jit.gl.sketch Tutorial 40: Drawing in OpenGL using jit.gl.sketch
Tutorial 41: Shaders Tutorial 41: Shaders
Tutorial 42: Slab: Data Processing on the GPU Tutorial 42: Slab: Data Processing on the GPU
Tutorial 43: A Slab of Your Very Own Tutorial 43: A Slab of Your Very Own
jit.gl.asyncread
jit.gl.camera
jit.gl.cornerpin
jit.gl.cubemap
jit.gl.graph
jit.gl.gridshape
jit.gl.handle
jit.gl.isosurf
jit.gl.light
jit.gl.lua
jit.gl.material
jit.gl.mesh
jit.gl.model
jit.gl.multiple
jit.gl.node
jit.gl.nurbs
jit.gl.pass
jit.gl.path
jit.gl.physdraw
jit.gl.picker
jit.gl.pix
jit.gl.plato
jit.gl.render
jit.gl.shader
jit.gl.sketch
jit.gl.skybox
jit.gl.slab
jit.gl.text
jit.gl.text2d
jit.gl.text3d
jit.gl.texture
jit.gl.videoplane
jit.gl.volume
jit.phys.6dof
jit.phys.barslide
jit.phys.body
jit.phys.conetwist
jit.phys.ghost
jit.phys.hinge
jit.phys.multiple
jit.phys.picker
jit.phys.point2point
jit.window
jit.world