Caustic Graphics
   HOME

TheInfoList



OR:

Caustic Graphics was a computer graphics and
fabless Fabless manufacturing is the design and sale of hardware devices and semiconductor chips while outsourcing their fabrication (or ''fab'') to a specialized manufacturer called a semiconductor foundry. These foundries are typically, but not exclu ...
semiconductor company that developed technologies to bring real-time ray-traced computer graphics to the mass market. The company name derived from an
optical effect Compositing is the process or technique of combining visual elements from separate sources into single images, often to create the illusion that all those elements are parts of the same scene. Live-action shooting for compositing is variously ...
caused by the concentration of light on to a surface resulting from focusing through reflection or refraction phenomena. Caustic was founded on the premise that realistic 3D graphics would be easier to create if
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal ...
hardware were as efficient at processing a ray as processing a vertex or fragment using existing
rasterisation In computer graphics, rasterisation (British English) or rasterization (American English) is the task of taking an image described in a vector graphics format (shapes) and converting it into a raster image (a series of pixels, dots or lines, whic ...
methods.


History

Caustic was founded in 2006 by three ex-
Apple An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
engineers, one of which had developed graphics technologies for the 5th Generation iPod and 1st Generation iPhone. The founding business plan was to build a complete real-time ray traced graphics system to initially accelerate professional 3D visualisation and later for entertainment applications on PCs and gaming consoles. In 2008, Caustic Graphics acquired Splutterfish, a company that developed and sold a production rendering software product called Brazil R/S. Caustic later released a series of commercial software products called "Visualiser Plugins" that leveraged the Brazil R/S rendering technology and Caustic hardware to enable interactive and offline ray traced rendering inside Autodesk 3DSMax,
Autodesk Maya Autodesk Maya, commonly shortened to just Maya (; ), is a 3D computer graphics application that runs on Windows, macOS, and Linux, originally developed by Alias and currently owned and developed by Autodesk. It is used to create assets for inter ...
, McNeel Rhino and later
SketchUp SketchUp is a proprietary 3D modeling software that is used to create and manipulate 3D models. It is used in architecture and interior design. SketchUp is owned by Trimble (company), Trimble Inc. The software has a free web-based version, and ...
In 2010, Caustic Graphics was acquired by
Imagination Technologies Imagination Technologies Group Limited is a British semiconductor and Computer software, software design company owned by Canyon Bridge Capital Partners, a private equity fund based in Beijing that is ultimately owned by the Chinese government. ...
.


Technologies


Hardware

The Caustic ray tracing hardware was not a replacement for existing
rasterisation In computer graphics, rasterisation (British English) or rasterization (American English) is the task of taking an image described in a vector graphics format (shapes) and converting it into a raster image (a series of pixels, dots or lines, whic ...
GPUs, but rather added several new hardware functions to increase the efficiency of ray-tracing: # Coherence gathering: The ability for the GPU to generate work for itself and for those work-units to be deferred and sorted into coherent groups that were requesting a common resource, such as a data or shader program address in memory. # Fixed-function triangle intersection units: A unit was developed that could intersect a ray with an edge sharing triangle pair and return barycentric coordinates and other hit information. # Fixed-function bounding volume intersection units: A unit was developed that could intersect a ray with an
AABB AABB (Association for the Advancement of Blood & Biotherapies) is an international, not-for-profit organization representing individuals and institutions involved in the field of transfusion medicine and biotherapies. The association works coll ...
and return hit information. # Framebuffer accumulator: This unit would receive commands from the ALUs to add colour to a given pixel in the frame buffer. # Scene hierarchy generator: This unit would read lists of triangles (or other scene geometry representations) and stream out to memory a
directed acyclic graph In mathematics, particularly graph theory, and computer science, a directed acyclic graph (DAG) is a directed graph with no directed cycles. That is, it consists of vertices and edges (also called ''arcs''), with each edge directed from one ...
of 3D volumes surrounding the geometry, known as a
bounding volume hierarchy A bounding volume hierarchy (BVH) is a tree structure on a set of geometric objects. All geometric objects, which form the leaf nodes of the tree, are wrapped in bounding volumes. These nodes are then grouped as small sets and enclosed within lar ...
.


Coherence gathering

The Caustic architecture parallelised execution not on pixels, but on individual rays. This allowed for hardware to gather these rays into coherent groups to perform a common operation, such as access a
memory address In computing, a memory address is a reference to a specific memory location in memory used by both software and hardware. These addresses are fixed-length sequences of digits, typically displayed and handled as unsigned integers. This numeric ...
within the scene acceleration structure and underlying geometry or execution of a common material shader program.


Streaming bounding volume hierarchy generator

Caustic developed a hardware pipeline that was capable of building a
bounding volume hierarchy A bounding volume hierarchy (BVH) is a tree structure on a set of geometric objects. All geometric objects, which form the leaf nodes of the tree, are wrapped in bounding volumes. These nodes are then grouped as small sets and enclosed within lar ...
bottom-up by directly consuming assembled primitives post vertex shading and gradually streaming out a graph of
AABB AABB (Association for the Advancement of Blood & Biotherapies) is an international, not-for-profit organization representing individuals and institutions involved in the field of transfusion medicine and biotherapies. The association works coll ...
nodes to DRAM in a single pass. This worked by implementing a conservative triangle voxelizer which would produce spatial addresses into a
cache Cache, caching, or caché may refer to: Science and technology * Cache (computing), a technique used in computer storage for easier data access * Cache (biology) or hoarding, a food storing behavior of animals * Cache (archaeology), artifacts p ...
-like structure to group triangles and AABBs within common parts of 3D space. This relied on the application submitting triangles in a generally spatially coherent order. Failure to submit triangles in a spatially coherent order would result in premature evictions from the spatial cache and thus generate overlapping bounding volumes and incur a higher ray traversal overhead. The hardware included a feature to increase the voxelisation rate for long and narrow triangles to permit more efficient bounding and higher rendering performance for off-axis geometry. This hardware unit, known as the SHG, was implemented within the PowerVR 6XT GR6500 from Imagination. In a demonstration, the company claimed that in their 600MHz test silicon, the SHG had a throughput of 100 million dynamic triangles per second.


CausticGL/OpenRL API

The OpenRL
API An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
(previously called ''CausticGL'') was derived from
OpenGL ES 2.0 OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerate ...
and added a series of features to both the host API and
GLSL OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB (OpenGL Architecture Review Board) to give developers more direct control of the graphics pipe ...
required to support ray tracing. Caustic shipped high performance implementations of the API for both SSE and AVX capable Intel CPUs,
OpenCL OpenCL (Open Computing Language) is a software framework, framework for writing programs that execute across heterogeneous computing, heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), di ...
capable GPUs and
CUDA In computing, CUDA (Compute Unified Device Architecture) is a proprietary parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for accelerated gene ...
support for
NVIDIA Nvidia Corporation ( ) is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Founded in 1993 by Jensen Huang (president and CEO), Chris Malachowsky, and Curti ...
GPUs.


OpenRL SDK

The OpenRL API was shipped in a free SDK with implementations for Intel CPUs, OpenCL and CUDA compatible GPUs and the Caustic hardware. Applications built on the OpenRL SDK would automatically detect supporting hardware and use the highest performing available option. The SDK included a series of example programs, "Profiler" to help debug applications by allowing full inspection of the ray tracing "tree" within a pixel and a tool called "StatsPlotter" which would expose internal performance counters.


PowerVR Brazil SDK

PowerVR Brazil SDK (also known as Resin) was a software layer utilising the OpenRL API which enabled
physically based rendering Physically based rendering (PBR) is a computer graphics approach that seeks to render images in a way that models the lights and surfaces with optics in the real world. It is often referred to as "Physically Based Lighting" or "Physically Based ...
implementations, programmable material shaders, dynamic geometry and hardware platform independence. The Resin technology grew out of the expertise from the Brazil R/S team which were acquired by Caustic Graphics.


Products


PowerVR Wizard / PLATO

After the acquisition by
Imagination Technologies Imagination Technologies Group Limited is a British semiconductor and Computer software, software design company owned by Canyon Bridge Capital Partners, a private equity fund based in Beijing that is ultimately owned by the Chinese government. ...
, an initiative began to integrate the Caustic ray tracing coherence gathering, fixed function geometry testers and a new streaming BVH generator into an exiting Series 6
PowerVR PowerVR is a division of Imagination Technologies (formerly VideoLogic) that develops hardware and software for 2D and 3D rendering, and for video encoding, video decoding, decoding, associated image processing and DirectX, OpenGL ES, OpenVG, and ...
GPU architecture. This allowed GLSL shaders which previously had to run on a host CPU to instead be executed on-chip using the existing PowerVR shading clusters and still gain benefit from the ray reordering being performed by the Caustic traversal unit. Additionally, the GPU was still a tile-based deferred rasteriser (TBDR) and could perform hybrid rasterisation-raytracing by allowing triangle fragment shaders to emit rays directly into the ray tracing pipeline. Imagination Technologies taped out test silicon containing the complete PowerVR 6XT GR6500 ray tracing GPU on a PCI express card called PLATO and it was demonstrated publicly at various events. It was claimed by the company to have
memory bandwidth Memory bandwidth is the rate at which data can be read from or stored into a semiconductor memory by a processor. Memory bandwidth is usually expressed in units of bytes/second, though this can vary for systems with natural data sizes that are ...
and power consumption characteristics similar to a mid-range consumer smartphone in 2016.


PCIe cards

A pair of PCIe card products were launched incorporating the Caustic RT2
ASIC An application-specific integrated circuit (ASIC ) is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-efficien ...
implementation of the RTU. The RT2 was a custom ASIC built on a 90nm
TSMC Taiwan Semiconductor Manufacturing Company Limited (TSMC or Taiwan Semiconductor) is a Taiwanese multinational semiconductor contract manufacturing and design company. It is one of the world's most valuable semiconductor companies, the world' ...
process. The R2100 card had a single RT2 chip and 4GB of onboard DDR2 memory and a claimed peak power consumption of 40 Watts. The R2500 incorporated a pair of RT2 chips and a total of 16GB of memory and had a claimed peak power consumption of 60 Watts. The cards were released for sale in 2013. The CausticOne
PCIe PCI Express (Peripheral Component Interconnect Express), officially abbreviated as PCIe, is a high-speed standard used to connect hardware components inside computers. It is designed to replace older expansion bus standards such as Peripher ...
card had two
FPGA A field-programmable gate array (FPGA) is a type of configurable integrated circuit that can be repeatedly programmed after manufacturing. FPGAs are a subset of logic devices referred to as programmable logic devices (PLDs). They consist of a ...
implementations of the RTU running at 100Mhz each with a single channel DDR2 memory for scene storage and connected to the host via 4-lane PCI Express 1.0. It was demonstrated in 2009 and sold in limited volume later that year.


References

{{reflist Fabless semiconductor companies Electronics companies established in 2006 Defunct semiconductor companies of the United States Defunct computer companies of the United States Defunct computer hardware companies