You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Vladimír Vondruš 602ed1687d Fix color literal bugs discovered by the new implementation. 1 year ago
..
.gitattributes Shaders: there's never enough documentation. 11 years ago
CMakeLists.txt Here we go again. 1 year ago
README.md TextureTools: rewrite docs for DistanceFieldGL from scratch. 1 year ago
atlas.cpp Prefer member slicing instead of arrayCast() in various other places. 1 year ago
colormaps.cpp Here we go again. 1 year ago
easings.cpp Here we go again. 1 year ago
primitives.cpp Fix color literal bugs discovered by the new implementation. 1 year ago
shaders.cpp Fix color literal bugs discovered by the new implementation. 1 year ago
vector-distancefield.png doc: update also the Shaders::DistanceFieldVector image. 3 years ago
vector.png Shaders: there's never enough documentation. 11 years ago
vector.svg doc: update also the Shaders::DistanceFieldVector image. 3 years ago

README.md

Source files for images in Magnum documentation

Compile and install Magnum with Sdl2Application, windowless application for your platform and magnum-distancefieldconverter utility and any PngImporter and PngImageConverter plugins from Magnum Plugins.

Create build dir, point CMake to this directory and compile the executables:

mkdir build-doc
cd build-doc
cmake ../doc/generated
cmake --build .

Primitive images

Generated by the primitives executable. Run it in this directory, the output is put into doc/ directory. Apply pngcrush to them for smaller file sizes:

for f in $(ls primitives-*.png); do pngcrush -ow $f; done

Shader images

Generated by the shaders executable. Must be run in this directory, the output is put into doc/ directory. The executable requires two textures:

  • vector.png, generated as full-page PNG output at 96 DPI from vector.svg, converted to pure grayscale using imagemagick:

    mogrify -flatten -background '#ffffff' -colorspace gray vector.png
    
  • vector-distancefield.png, generated as full-page PNG output at 384 DPI (1024x1024) to vector-src.png and then processed through magnum-distancefieldconverter

    magnum-distancefieldconverter --importer PngImporter --converter PngImageConverter --output-size "64 64" --radius 16 vector-src.png vector-distancefield.png
    

Apply pngcrush to the result for smaller file sizes:

for f in $(ls shaders-*.png); do pngcrush -ow $f; done

Distance field vector images

Similarly as above, just with slightly different parameters. The distancefield-src.png is generated as full-page PNG output at 192 DPI (512x512) from vector.svg, the distancefield-dst.png is then converted with

magnum-distancefieldconverter distancefield-src.png distancefield-dst.png --output-size "128 128" --radius 24

This is chosen so it corresponds to the TextureTools::DistanceFieldGL doc snippet where it takes a 256x256 image and converts it to 64x64 with a radius 12, but is scaled twice to look better on HiDPI displays.