Crate rg3d[][src]

Expand description

3D and 2D Game Engine.


pub use crate::core::rand;
pub use lazy_static;
pub use tbc;
pub use walkdir;


Resource management

Core data structures and algorithms used throughout rg3d.

UI scaling is important, so read the docs for this module if you don’t want to be confused.

Engine is container for all subsystems (renderer, ui, sound, resource manager). It also creates a window and an OpenGL context.

The Event enum and assorted supporting types.

The EventLoop struct and assorted supporting types, including ControlFlow.

Extendable, retained mode, graphics API agnostic UI library.

Material is a set of parameters for a shader. This module contains everything related to materials.

Types useful for interacting with a user’s monitors.

Contains traits with platform-specific methods in them.

Renderer is a “workhorse” of the engine, it draws scenes (both 3D and 2D), user interface, debug geometry and has an ability to add user-defined render passes. Current renderer implementation is not very flexible, but should cover 95% of use cases.

Everything related to resources.

Contains all structures and methods to create and manage 3D scenes.

Sound library for games and interactive applications.

Utilities module provides set of commonly used algorithms.

The Window struct and associated types.


Represents an OpenGL Context.

An object that allows you to build Contexts, RawContext<T>s and WindowedContext<T>s.

A context which has an underlying window, which may or may not be stored separately.

Attributes to use when creating an OpenGL Context.

Describes a possible format.

Describes how the backend should choose a pixel format.

A type that Contexts which might possibly be currently current on some thread take as a generic.


All APIs related to OpenGL that you can possibly get while using glutin.

Error that can happen when manipulating an OpenGL Context.

Error that can happen while creating a window or a headless renderer.

Describes the requested OpenGL Context profiles.

Describes the OpenGL API and version that are being requested when a context is created.

A type that Contexts which are not currently current on any thread take as a generic.

The behavior of the driver when you change the current context.

Specifies the tolerance of the OpenGL Context to faults. If you accept raw OpenGL commands and/or raw shader code from an untrusted source, you should definitely care about this.


The minimum core profile GL context. Useful for getting the minimum required GL version while still running on OSX, which often forbids the compatibility profile features.


A trait implemented on both NotCurrent and PossiblyCurrent.

Type Definitions

Represents an OpenGL Context which has an underlying window that is stored separately.

Represents an OpenGL Context and the Window with which it is associated.