**Sample API Doc** 1.1 Release This is the markdeep generic "Company API" template. Replace `company-logo-512.png` with your organization's logo and adjust the `company-api.css` styling to match the desired colors. See `CA::OpenHandle()` for an example of an auto-generated API link. The rest of the information on this page is bogus placeholder to show the formatting. API Modules ==================================================================================== The CA library is a layer on top of the resource manager and parsing libraries that provides utilities for streaming processing and client-side process construction. Modules ---------------------------------------------------------------------------------------- The CA library contains the APIs for applications to allocate and exchange resources. !!! Attention Attention Always read all of the documentation. [CA APIs](#CA) : List of APIs to manage external processes. CA Buffer List APIs : Methods to process buffer resources separate from computation. CA Data Structures : Specifies the data structures used for complex cases. ## Handles `CA::OpenHandle(const std::string&)` : Open a reference handle. `CA::ReadMetaData(const Handle&)` : Metadata about the event. `CA::CloseHandle(const Handle&)` : Free all handle resources, recursively. CA ==================================================================================== !!! Warning Warning The API content represents the set of APIs you can use directly. Some APIs are not documented and we advise you do not use them directly. Using undocumented APIs can lead to incompatibility when upgrading to later releases. These examples assume that your directory structure is: ********************************************************** * * 📂 ca1 * | * +-- 📄 bar.txt * | * +-- 📂 foo * | | * | ⋮ * | * +-- 📂 xsource * | | * | +-- 📂 data * | | | * | | +-- 📄 manifest.json * | | | * | ⋮ ⋮ * | * ⋮ ********************************************************** [Directory structure.] Table ------------------------------------------------------------------ Screen | Factor | Used | Efficiency ----------:|------------:|----------:|---------: 1366x768 | 3x | 1152x672 | 74% 1440x900 | 3x | 1152x672 | 60% *1600x900* | *4x* | 1536x896 | *96%* 1680x1050 | 4x | 1536x896 | 78% 1920x1080 | 4x | 1536x896 | 66% *1920x1200*| *5x* | 1920x1120 | *93%* [A Table] More Info ------------------------------------------------------------------ ****************************************************************** * ^ y * | * .---------. .----|----. * | | | | | * | *-------> x | *--------> x * | | | | | * '----|----' '---------' * | * v y ****************************************************************** [Figure 1: Coordinate Example] ----- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GLSL vec3 sphNormal(in vec3 pos, in vec4 sph) { return normalize(pos-sph.xyz); } vec3 camera(vec2 U, vec2 r, vec3 ro, vec3 la, float fl) { vec2 uv = (U - r*.5)/r.y; vec3 fwd = normalize(la-ro), rgt = normalize(vec3(fwd.z, 0., -fwd.x)); return normalize(fwd + fl*uv.x*rgt + fl*uv.y*cross(fwd, rgt)); } float vMap(vec3 p) { float hit = 0.0; vec2 h2 = hash22(floor(p.xz*0.25)); if (p.z > 0.0) { if (p.y < -10.0 && h2.x > 0.5) hit=1.0; if (p.y > 10.0 && h2.y > 0.5) hit=1.0; } return hit; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [Code listing]