package com.codename1.gpu

Low level GPU accelerated graphics API for Codename One.

This package exposes a hardware rendering abstraction built around a GraphicsDevice and Renderer together with the resources they consume: Mesh, VertexBuffer, IndexBuffer, VertexFormat, Texture, Material, Light and RenderState. It supports drawing 3D Primitives, embedding output in a RenderView and loading models via the GltfLoader. Use GpuCapabilities to query what the underlying device supports at runtime.

Types

class CameraA perspective or orthographic camera.
class GltfLoaderLoads a Mesh from a glTF 2.0 model so applications can render real authored geometry rather than only the built in Primitives.
class GpuCapabilitiesImmutable description of the capabilities and limits of a GraphicsDevice.
class GraphicsDeviceThe low level command surface of the 3D API, bound to a single RenderView and its GPU context.
class IndexBufferHolds the element indices used to assemble primitives from a VertexBuffer.
class LightA single directional light plus a global ambient term, consumed by lit materials (Material.Type.LAMBERT and Material.Type.PHONG).
class MaterialA declarative description of how a surface should be shaded.
class Matrix4Portable column-major 4x4 float matrix math used by the 3D API.
class MeshRenderable geometry: a VertexBuffer, an optional IndexBuffer and the PrimitiveType that ties the vertices into shapes.
enum PrimitiveTypeThe geometric primitive a Mesh is assembled from.
class PrimitivesFactory helpers that build common Mesh primitives.
class QuaternionPortable quaternion math used by the 3D, AR and VR APIs.
class RenderStateFixed function pipeline state attached to a Material: depth testing, alpha blending and face culling.
class RenderViewA Codename One component that hosts a hardware accelerated 3D rendering surface and drives an application supplied Renderer.
interface RendererApplication supplied callback that drives the contents of a RenderView.
class TextureA GPU texture.
class VertexAttributeDescribes a single attribute (position, normal, texture coordinate, color) within a VertexFormat.
class VertexBufferHolds interleaved vertex data for a Mesh.
class VertexFormatAn ordered, interleaved layout of VertexAttributes describing how the floats of a VertexBuffer are grouped into vertices.