Movatterモバイル変換


[0]ホーム

URL:


Skip to content
Search Gists
Sign in Sign up

Instantly share code, notes, and snippets.

View d7samurai's full-sized avatar
💭
innovation through irritation™

d7samurai

💭
innovation through irritation™
moburai. experiencelab. meta4. intel. rsteroids. lens. superneo. bheader. delta7
View GitHub Profile
@d7samurai
d7samurai /.readme.md
Last activeDecember 15, 2025 14:57
Minimal D3D11 bonus material: MSAA

image

This is essentially just theoriginal Minimal D3D11 codebase with 8x MSAA added. However, since MSAA only smooths triangleedges and does not affect textured surface interiors, texturing is removed to isolate and make the effect of MSAA clearer.

In short there are two parts to it: 1)Create andrender to an MSAA texture rather than your typical rendertarget/framebuffer (note: the depth buffer mustmatch), and 2) [Resolve](https://gist.github.com/d7samurai/d74299f8bcadcb9cb0686

@d7samurai
d7samurai /.readme.md
Last activeAugust 24, 2025 05:57
Minimal D3D11 bonus material: even simpler 2D

image

Plain 2D rendering in D3D11, without the distracting feature set of acomplete sprite renderer and allowingarbitrarily placed triangle vertices with absolute pixel coordinate positioning (there's reallyno need for the sometimes confusing complication of a full-on projection matrix pipeline for UI and 2D games). Like theoriginal Minimal D3D11, this one uses a canonical 1:1TRIANGLELIST vertex buffer with input layout, so no fancy manual custom buffer fetching and in-shader instan

@d7samurai
d7samurai /.readme.md
Last activeAugust 17, 2025 16:07
Minimal D3D11 bonus material: simple 2D rendering

image

Plain 2D rendering in D3D11, without the distracting feature set of acomplete sprite renderer and allowingarbitrarily placed triangle vertices with absolute pixel coordinate positioning (there's reallyno need for the sometimes confusing complication of a full-on projection matrix pipeline for UI and 2D games). Like theoriginal Minimal D3D11, this one uses a canonical 1:1TRIANGLELIST vertex buffer with input layout, so no fancy manual custom buffer fetching and in-shader in

@d7samurai
d7samurai /.readme.md
Last activeDecember 13, 2025 22:52
Minimal D3D11 sprite renderer NEO

sponsored by SuperNeo copy 4

Minimal D3D11 sprite renderer NEO

Ultra-compact sprite rendering code with example frame animation logic. This release contains tech bits from the upcoming SuperNeo™ 2D game engine and includes anchor/pivot point, rotation, color filtering, alpha blending and built-in antialiased point sampling. As usual: complete, runnable single-function app. ~150 LOC. No modern C++, OOP or (other) obscuring cruft.

Minimal D3D11 sprite renderer NEO 1337

Sprites are rendered back-to-front (AKA "painter's algorithm") in the order they are submitted, as one draw call. The provided setup employs a single texture atlas containing all the sprite graphics.

The renderer is "im

@d7samurai
d7samurai /.readme.md
Last activeOctober 26, 2025 05:56
Minimal D3D11 sprite renderer

Minimal D3D11 sprite renderer: basic back-to-front sprite rendering reference code with example sprite sheet animation logic. As usual: Complete, runnable single-function app. No modern C++ / OOP / obscuring cruft.

adventurer

Swap out the sprite sheet with a font atlas for alightweight GUI / text renderer. Clip individual sprites and glyphs by offsettingscreenPos andatlasPos to top left corner of visible area and adjustingsize accordingly (all values in pixels):

sprite.screenPos.x +=17;sprite.screenPos.y +=10;
@d7samurai
d7samurai /.readme.md
Last activeDecember 1, 2025 16:43
Minimal WASAPI

Minimal WASAPI reference implementation. Runnable console application contained in a single function and laid out in a linear, step-by-step fashion. No modern C++ / OOP / obscuring cruft. Produces a steady sine wave sound.

(This is a re-post of the same gist I posted a few years earlier, simply due to me wanting the Minimal D3D11 series to be listed contiguously and it's not possible to hide or rearrange gists).

@d7samurai
d7samurai /.readme.md
Last activeDecember 9, 2025 02:30
Minimal D3D11 bonus material: pixel art antialiasing

A minimal Direct3D 11 implementation of "antialiased point sampling", useful for smooth fractional movement and non-integer scaling of pixel art AKA "fat pixel" aesthetics.

Also view below side-by-side point sampling comparison onYouTube (video is zoomed in to counter implicit downsampling & compression artifacts and make aa effect more apparent) or check out the originalShadertoy.

skull

The actual sampler is set to bilinear filtering (the default D3D11 sampler state) in order to utilize single texture-read hardware interpolation, then emulating point sampling in the shader and applying AA at the fat pixel boundaries. Use withpremultiplied alpha textures* and keep a one pixel transparent border around each sprite/tile.

@d7samurai
d7samurai /.readme.md
Last activeDecember 14, 2025 21:45
Minimal D3D11 bonus material: extra minimal triangle

A quick side exercise to see how little code one can get away with to put that RGB triangle on screen using D3D11 (without bending over backwards with trickery). This is a complete app in < 40 LOC (including the HLSL).

pretty minimal d3d11 triangle

For more.. elaborate.. D3D11 reference code, seethe original Minimal D3D11,Minimal D3D11 pt2 andMinimal D3D11 pt3

@d7samurai
d7samurai /.readme.md
Last activeDecember 14, 2025 22:58
Minimal D3D11 pt3

An elaboration onMinimal D3D11 pt2, adding shadowmapping and incorporating various improvements and alternative approaches to the rendering setup, such as manual vertex fetching, samplerless texture lookup, null shader depth map rendering and procedurally generated texture and instance data.

As before, this is intended to be an an "API familiarizer" - anuncluttered Direct3D 11 setup & basic rendering reference implementation, in the form of a complete, runnable Windows application contained in a single function and laid out in a linear, step-by-step fashion. No modern C++ / OOP / obscuring cruft, only ~190 LOC.View on YouTube

minimald3d11pt3

@d7samurai
d7samurai /.readme.md
Last activeAugust 17, 2025 16:07
Minimal D3D11 pt2

Follow-up toMinimal D3D11, adding instanced rendering. As before: An uncluttered Direct3D 11 setup & basic rendering primer / API familiarizer. Complete, runnable Windows application contained in a single function and laid out in a linear, step-by-step fashion. No modern C++ / OOP / obscuring cruft.

The main difference here is that the hollow cube is rendered usingDrawIndexedInstanced (which saves a lot of vertices compared to the original, so model data is now small enough to be included in the source without being too much in the way), but also all trigonometry and matrix math is moved to the vertex shader, further simplifying the main code.

Each instance is merely this piece of geometry, consisting of 4 triangles:

instanced1

..which is

NewerOlder

[8]ページ先頭

©2009-2025 Movatter.jp