| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- Tools
- =====
- Geometry Compiler (geometryc)
- -----------------------------
- Converts Wavefront .obj, or glTF 2.0 mesh file to format optimal for using with bgfx.
- Usage::
- geometryc -f <in> -o <out>
- Supported input file formats:
- ====== ============================
- Format Description
- ====== ============================
- .obj Wavefront
- .gltf glTF 2.0
- .glb glTF 2.0
- ====== ============================
- Options:
- -h, --help Help.
- -v, --version Version information only.
- -f <file path> Input file path.
- -o <file path> Output file path.
- -s, --scale <num> Scale factor.
- --ccw Front face is counter-clockwise winding order.
- --flipv Flip texture coordinate V.
- --obb <num> Number of steps for calculating oriented bounding box.
- Default value is 17. Less steps less precise OBB is.
- More steps slower calculation.
- --packnormal <num> Normal packing.
- 0 - unpacked 12 bytes (default).
- 1 - packed 4 bytes.
- --packuv <num> Texture coordinate packing.
- 0 - unpacked 8 bytes (default).
- 1 - packed 4 bytes.
- --tangent Calculate tangent vectors (packing mode is the same as normal).
- --barycentric Adds barycentric vertex attribute (packed in bgfx::Attrib::Color1).
- -c, --compress Compress indices.
- --[l/r]h-up+[y/z] Coordinate system. Default is '--lh-up+y' Left-Handed +Y is up.
- Geometry Viewer (geometryv)
- ---------------------------
- Geometry viewer.
- Shader Compiler (shaderc)
- -------------------------
- bgfx cross-platform shader language is based on GLSL syntax. It's uses
- ANSI C preprocessor to transform GLSL like language syntax into HLSL.
- This technique has certain drawbacks, but overall it's simple and allows
- quick authoring of cross-platform shaders.
- Some differences between bgfx's shaderc flavor of GLSL and regular GLSL:
- - No ``bool/int`` uniforms, all uniforms must be ``float``.
- - Attributes and varyings can be accessed only from ``main()``
- function.
- - Must use ``SAMPLER2D/3D/CUBE/etc.`` macros instead of
- ``sampler2D/3D/Cube/etc.`` tokens.
- - Must use ``vec2/3/4_splat(<value>)`` instead of
- ``vec2/3/4(<value>)``.
- - Must use ``mtxFromCols/mtxFromRows`` when constructing matrices in shaders.
- - Must use ``mul(x, y)`` when multiplying vectors and matrices.
- - Must use ``varying.def.sc`` to define input/output semantic and
- precission instead of using ``attribute/in`` and ``varying/in/out``.
- - ``$input/$output`` tokens must appear at the begining of shader.
- For more info see `shader helper
- macros <https://github.com/bkaradzic/bgfx/blob/master/src/bgfx_shader.sh>`__.
- Options:
- -h, --help Help.
- -v, --version Version information only.
- -f <file path> Input file path.
- -i <include path> Include path (for multiple paths use -i multiple times).
- -o <file path> Output file path.
- --bin2c <array name> Generate C header file. If array name is not specified base file name will be used as name.
- --depends Generate makefile style depends file.
- --platform <platform> Target platform.
- -p, --profile <profile> Shader model (default GLSL).
- --preprocess Preprocess only.
- --define <defines> Add defines to preprocessor (semicolon separated).
- --raw Do not process shader. No preprocessor, and no glsl-optimizer (GLSL only).
- --type <type> Shader type (vertex, fragment, compute)
- --varyingdef <file path> Path to varying.def.sc file.
- --verbose Verbose.
- Options (DX9 and DX11 only):
- --debug Debug information.
- --disasm Disassemble compiled shader.
- -O <level> Optimization level (0, 1, 2, 3).
- --Werror Treat warnings as errors.
- Building shaders
- ~~~~~~~~~~~~~~~~
- Shaders must be compiled for all renderers by using `shaderc` tool. Makefile to simplify building
- shaders is provided in examples. D3D shaders can be only compiled on Windows.
- Texture Compiler (texturec)
- ---------------------------
- Convert PNG, TGA, DDS, KTX, PVR texture into bgfx supported texture formats.
- Usage::
- texturec -f <in> -o <out> [-t <texture format>]
- Supported file formats:
- ====== ================ ============================
- Format In/Out Description
- ====== ================ ============================
- .bmp (input) Windows Bitmap.
- .dds (input, output) Direct Draw Surface.
- .exr (input, output) OpenEXR.
- .gif (input) Graphics Interchange Format.
- .jpg (input) JPEG Interchange Format.
- .hdr (input, output) Radiance RGBE.
- .ktx (input, output) Khronos Texture.
- .png (input, output) Portable Network Graphics.
- .psd (input) Photoshop Document.
- .pvr (input) PowerVR.
- .tga (input) Truevision TGA.
- ====== ================ ============================
- Options:
- -h, --help Help.
- -v, --version Version information only.
- -f <file path> Input file path.
- -o <file path> Output file path.
- -t <format> Output format type (BC1/2/3/4/5, ETC1, PVR14, etc.).
- -q <quality> Encoding quality (default, fastest, highest).
- -m, --mips Generate mip-maps.
- --mipskip <N> Skip <N> number of mips.
- -n, --normalmap Input texture is normal map. (Implies --linear)
- --equirect Input texture is equirectangular projection of cubemap.
- --strip Input texture is horizontal strip of cubemap.
- --sdf Compute SDF texture.
- --ref <alpha> Alpha reference value.
- --iqa Image Quality Assessment
- --pma Premultiply alpha into RGB channel.
- --linear Input and output texture is linear color space (gamma correction won't be applied).
- --max <max size> Maximum width/height (image will be scaled down and aspect ratio will be preserved).
- --radiance <model> Radiance cubemap filter. (Lighting model: Phong, PhongBrdf, Blinn, BlinnBrdf, GGX)
- --as <extension> Save as.
- --formats List all supported formats.
- --validate **DEBUG** Validate that output image produced matches after loading.
- Texture Viewer (texturev)
- -------------------------
- Texture viewer.
|