Home     Tutorials     X3 Downloads     Contact Us    

Tutorial 1: Hello OpenGL world
Write your first 3D program in Xojo. This tutorial introduces you to polygons and shows you how to draw them with OpenGL.

Tutorial 2: Perspective projection
Drawing polygons with proper perspective settings makes your scenes look more realistic. In this tutorial you will learn about the basics of perspective projection.

Tutorial 3: A splash of color
Learn how to fill polygons with color.

Tutorial 4: Vector data structure
Vectors are the foundation for 3D graphics and animation. In this tutorial we design, and learn how to use, a 3D vector class to represent the vertices of a polygon.

Tutorial 5: Polygon data structure
When working with thousands or even millions of polygons, it makes sense to design a polygon structure that simplifies the management of polygons. In this tutorial we design a class to represent polygons.

Tutorial 6: Back-face culling
Back-face culling is a technique used to be more resourceful with your available processing power. In this tutorial you will learn how to activate back-face culling in OpenGL.

Tutorial 7: OpenGL depth buffer
The OpenGL depth buffer prevents polygons at the back from being drawn over polygons in the front. Learn in this tutorial how to use the OpenGL depth buffer.

Tutorial 8: Model data structure
In this tutorial we design and implement a model data structure, that groups polygons into a collection to form a 3D object.

Tutorial 9: Light sources
Similar to photography, lighting is essential when creating exceptional 3D scenes. In this tutorial you will learn how to add light sources to your scenes.

Tutorial 10: Transparency
Some polygons are transparent (see through), and we need to render them as such. The window of a car and a glass cup are examples of transparent objects. This tutorial shows you how to add transparency to your polygons and models.

Tutorial 11: Texture mapping
Mapping textures to polygons is a technique that gives 3D models a realistic look, by making use of 2D images. Learn the basics of texture mapping with this tutorial.

Tutorial 12: Quaternions
Gimbal lock is a common problem when applying successive rotations to a model in Euclidean space. In this tutorial we add rotation capabilities to your models, by making use of quaternions. Quaternions provide an elegant solution to avoid Gimbal locks.

Tutorial 13: Memory usage and speed improvements
In this tutorial we revisit the 3D data structures. Our goal is to improve memory usage, and increase the rendering speed of models.

Tutorial 14: File IO
Saving 3D assets to disk, or transporting them across a network, is an important feature of any professional 3D application. The X3 Data Format is a simple open specification that can be used save and transport 3D assets. This tutorial shows you how to save and load 3D models using the X3 Data Format.

Tutorial 15: 2D Sprites
Sprites provide an efficient way to perform 2D animations. In this tutorial you will learn all about sprites, sprite sheets and how to implement them with OpenGL, while still having full access to all your 3D routines written in the previous tutorials.

Tutorial 16: Materials
Different types of materials reflects differently in light, and by applying material properties to your models you can greatly enhance the aesthetics of your scenes. In this tutorial we explore materials, how materials reacts to light, and how to use this knowledge in the programming of your applications.

All the content on Xojo3D.com, unless indicated otherwise, is provided to the public domain and everyone is free to use, modify, republish, sell or give away this work without prior consent from anybody. Content is provided without warranty of any kind. Under no circumstances shall the author(s) or contributor(s) be liable for damages resulting directly or indirectly from the use or non-use of the content. Xojo3D.com is not associated with Xojo, Inc.