rendering

rendering is a cursor rule for Cursor from AcKeskin/contexture. It costs 0 tokens per session (3,512 once invoked), scanned A, original, MIT.

A set of rules for handling color and precision in rendering, the process of drawing images or frames. It requires lighting calculations in linear color values and conversion to display color only at the output stage.

In plain words
What is it for?
It helps implement texture formats, render targets, tone mapping, sRGB output, and HDR10 or HLG display paths.
Why use it?
It prevents incorrect lighting, shading, and display brightness caused by mixing display-encoded colors with calculation values. It also covers the correct transfer functions for HDR displays.

Cursor rule for Cursor

Written for Cursor: a Cursor rule (.mdc).

Good fit It helps implement texture formats, render targets, tone mapping, sRGB output, and HDR10 or HLG display paths.

Compare 6 cursor rules from other repositories ↓
Install with agentmods
npx agentmods add rules/ackeskin/contexture/rendering
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/AcKeskin/contexture

Made for: Cursor.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for rendering

README.md
[![agentmods](https://agentmods.dev/badge/rules/ackeskin/contexture/rendering/github.svg)](https://agentmods.dev/rules/ackeskin/contexture/rendering)
Your own site
<a href="https://agentmods.dev/rules/ackeskin/contexture/rendering"><img src="https://agentmods.dev/badge/rules/ackeskin/contexture/rendering/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for rendering

Your own site · 80×15
<a href="https://agentmods.dev/rules/ackeskin/contexture/rendering"><img src="https://agentmods.dev/badge/rules/ackeskin/contexture/rendering.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 3,512 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00000 $0.03512
Opus 5.5 $0.00000 $0.01405
Sonnet 5.5 $0.00000 $0.00702
Haiku 4.5 $0.00000 $0.00351

Measured today against content hash acfbcb37cedf, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

rendering scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

cursor/rules/rendering.mdc · 100 lines

How it starts

The opening of the file, as written. The whole thing — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Generated from architectural-rules/rendering/ — do not hand-edit.

Color Space and Precision Discipline

All lighting and shading calculations must be performed in linear light (scene-linear color space); sample sRGB textures through hardware linearization (GL_SRGB8_ALPHA8 / DXGI_FORMAT_*_SRGB / MTLPixelFormatRGBA8Unorm_sRGB) so the hardware converts on read. Mixing gamma-encoded values with linear math produces physically incorrect results. (IEC 61966-2-1 sRGB standard; OpenGL 4.6 spec §8.24 "sRGB Conversion"; Khronos data format spec)

Apply the linear-to-sRGB (or target OETF) conversion exactly once, at the final swapchain/output boundary — via sRGB framebuffer attachment (GL_FRAMEBUFFER_SRGB / DXGI_FORMAT_*_SRGB swapchain), post-process tone-map output, or explicit gamma encode in the final fragment. Do not gamma-encode intermediate render targets. (OpenGL 4.6 spec §17.3.9; D3D11/D3D12 DXGI swap chain format guidelines)

For HDR output paths, apply the correct OETF for the target display standard (PQ/ST.2084 for HDR10, HLG for broadcast) in the tone-mapping pass, not ad-hoc gamma curves. HDR10 metadata (MaxCLL, MaxFALL) must be set correctly; incorrect OETF yields washed-out or clipped images on HDR displays. (ITU-R BT.2100 HDR standard; SMPTE ST.2084 PQ EOTF; D3D12 HDR output guide; Vulkan VK_EXT_hdr_metadata)

Use float16 (R16G16B16A16_FLOAT / GL_RGBA16F) or higher for HDR intermediate render targets; R8G8B8A8_UNORM is insufficient for HDR accumulation or lighting buffers and causes precision loss and banding. Use R11G11B10_FLOAT for HDR when alpha is not needed to save bandwidth. (general HDR render target best practice; GPU Pro / GPU Gems references)

Do not accumulate (additive blend, multipass light accumulation) into 8-bit unorm render targets; the quantization error compounds per pass and produces visible banding. Accumulate in float16 or higher, then resolve/tonemap to 8-bit at output. (general rendering precision best practice; physically based rendering literature)

Use a reversed-Z depth buffer (map far plane to 0.0, near plane to 1.0) with a float32 depth format; the floating-point distribution is then uniform across the depth range, minimizing z-fighting. Conventional 0=near/1=far 16-bit or 24-bit depth wastes precision near the far plane. (Reversed-Z depth buffer technique; NVIDIA "Depth Precision Visualized"; Vulkan depth range configuration)

Never mix sRGB-formatted and linear-formatted texture samples in the same lighting computation without explicit conversion; read the texture format declaration before sampling and add explicit pow(x, 2.2) / linearization only when hardware sRGB read is not in use. (OpenGL 4.6 spec §8.24; general sRGB-vs-linear audit practice)

When quantizing from float to 8-bit UNORM at output, apply a small triangular or blue-noise dither before the OETF encode to push quantization error below the perceptual threshold and eliminate smooth-gradient banding. (general signal processing; Bart Wronski blue-noise dithering; GPU Pro 7 dithering chapter)

Why: Working in the wrong color space produces physically incorrect lighting that no amount of artistic tuning fully corrects. A single mis-placed sRGB conversion or wrong render target format causes banding, blown-out HDR, and precision loss that cascades through the pipeline. Explicit format declarations and a single conversion boundary are the only reliable prevention. Source: IEC 61966-2-1 (sRGB); ITU-R BT.2100 (HDR); OpenGL 4.6 spec §8.24, §17.3.9; Khronos Data Format Specification 1.3.

Read the full file on GitHub · 100 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 100 lines · 3,512 tokens per session scan A acfbcb37cedf

Subscribe to this mod's changes

rendering is a cursor rule published in the GitHub repository AcKeskin/contexture (2 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 3,512 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-27.