RTWIZARD(1)

πŸ“¦
version 7.44.0 Β· 2 versions
, in nixpkgs unstable

πŸ’… rtwizard(1) β€” the BRL-CAD manual page, but make it cute

okay so bestie, you're reading the RTWIZARD(1) page from the BRL-CAD manual set, and honestly? it's a whole vibe. let's get into it. πŸŽ€


✨ NAME ✨

rtwizard β€” composite BRL-CAD images from color, ghost, and edge-line renderings πŸ¦‹


🌸 SYNOPSIS 🌸

rtwizard [options] [-i] _geometry.g_ [-o] _output.{pix|png}_ [object ...]

πŸ’– DESCRIPTION πŸ’–

okay so rtwizard is literally the group-chat orchestrator of BRL-CAD utilities. it pulls together a bunch of tools to make composite images of geometry in prescribed styles. here's the lineup, no cap:

  • full-color ray tracings come from rt(1) πŸ”₯
  • "hidden-line" edge drawings come from rtedge(1) ✏️
  • semi-transparent greyscale "ghost" renderings come from rt(1) combined with BRL-CAD image-manipulation tools πŸ‘»

and then all those layers get composited into a single image, written out to a pix(5) or PNG file, or displayed on a framebuffer. slay. πŸ’…

🧚 the two modes

rtwizard has two modes, periodt:

  • with no arguments (or with --gui) it launches a wizard-style graphical interface that walks you through building an image interactively. main character energy fr.
  • given sufficient options on the command line, it runs non-interactively β€” which is lowkey iconic for scripting and bulk rendering.
⚠️ heads up: if a command line invocation lacks enough info to produce the requested image, rtwizard falls back to the GUI unless --no-gui is given. so it will absolutely interrupt your script if you're not paying attention 😭

🎨 the six picture types

the kind of image produced is governed by the --type option, or inferred from which object lists are supplied. here are the six, and yes they're giving a full runway lineup:

  1. Type A β€” Simple Full-Color Image β€” standard rt image. ✨
  2. Type B β€” Simple Line Drawing β€” standard rtedge image. ✏️
  3. Type C β€” Highlighted Image β€” full color rt image enhanced with rtedge lines. πŸ”₯
  4. Type D β€” Mixed Full Color and Edges β€” like C, but objects are selectively edge-enhanced. πŸ‘‘
  5. Type E β€” Ghost Image with Inserts β€” full color elements over faded greyscale context. πŸ‘»
  6. Type F β€” Ghost Image with Inserts and Edges β€” a Type E image further enhanced with rtedge lines. 🌈

🫢 the compatibility bit (important, don't skip)

for compatibility with rt(1):

  • the first unflagged argument naming an existing .g file is taken as the input geometry
  • the first unflagged argument with a supported image extension (.pix, .png, .ppm, .bw, .dpix) is taken as the output file
  • any remaining unflagged arguments are treated as color objects
πŸ™ˆ but bestie, because this can be ambiguous, the -i and -o flags are preferred. like, just use the flags. trust me. πŸ’€

πŸŽ€ OPTIONS πŸŽ€

  • -h, --help β€” print the options summary and exit. bye bestie πŸ‘‹
  • --help-dev β€” print the developer/programmatic options and exit. for the tech girlies who want the deeper lore 🧚
  • -i filename, --input-file filename β€” input .g geometry database. overrides any unflagged .g argument. πŸ’–
  • -o filename, --output-file filename β€” output image file. a .png extension produces a PNG image; otherwise a BRL-CAD pix(5) image is written. other supported extensions are .ppm, .bw, and .dpix. πŸ–ΌοΈ
  • -s #, --size # β€” width and height of a square output image, in pixels (default 512). overridden per-axis by -w and -n. ⭐
  • -w #, --width # β€” output image width in pixels (overrides the width from -s). πŸ“
  • -n #, --height # β€” output image height in pixels (overrides the height from -s). πŸ“
  • -t A|B|C|D|E|F, --type A|B|C|D|E|F β€” picture type to produce (see the table above). if a type is requested but the supplied object lists are insufficient for it, rtwizard exits with an error. no improvising, it's a strict queen πŸ’€
  • -c obj[,...], --color-objects obj[,...] β€” comma-separated list of objects to render in full color. quote the list if names contain spaces (e.g. -c "obj1,obj 2"). 🌈
  • -l obj[,...], --line-objects obj[,...] β€” comma-separated list of objects to render as edge lines. ✏️
  • -g obj[,...], --ghost-objects obj[,...] β€” comma-separated list of objects to render as ghosted (faded) context. πŸ‘»
  • -a angle, --azimuth angle β€” set the azimuth view angle, in degrees. πŸ”„
  • -e angle, --elevation angle β€” set the elevation view angle, in degrees. ⬆️
  • --twist angle β€” set the twist view angle, in degrees. πŸŒ€
  • -z value, --zoom value β€” zoom factor as a multiplier on the default view size. values greater than one enlarge the object; values less than one shrink it. πŸ”
  • --center x/y/z β€” set the xyz coordinates of the view center. 🎯
  • --eye_pt x/y/z β€” set the eye point. part of a complete low-level view specification (with --viewsize and --orientation); a complete low-level specification overrides the high-level view options. πŸ‘οΈ
  • --viewsize value β€” set the view size directly (low-level view specification). πŸ“¦
  • --orientation x/y/z/w β€” set the view orientation quaternion (low-level view specification). 🧭
  • -P angle, --perspective angle β€” set the perspective angle, in degrees. πŸ”­
  • -C color, --background-color color β€” background color for full-color ray tracing, as R/G/B or hex (default white). 🀍
  • --line-color color β€” color for edge lines, as R/G/B or hex. the keyword "region" uses each region's own color for its lines. πŸ–οΈ
  • --non-line-color color β€” color used for the non-line areas of edge renderings. 🎨
  • -G value, --ghost-intensity value β€” visibility of ghosted objects (default 6.0). πŸ‘»
  • -O #, --occlusion # β€” occlusion mode (1 to 3) for line rendering (default 1). see rtedge(1). πŸ•ΆοΈ
  • --gui β€” force the graphical interface even when the command line specifies enough information to produce an image. πŸͺ„
  • --no-gui β€” force command-line operation even when the supplied information is insufficient. overridden by --gui if both are given. βš”οΈ
  • -d device, --fbserv-device device β€” framebuffer device for fbserv(1) to use instead of the default memory-only interface (e.g. -d /dev/wgl). see fbhelp(1) for available devices. a framebuffer started by rtwizard is closed automatically after image generation. πŸ–₯️
  • -p #, --fbserv-port # β€” TCP port for the fbserv(1) framebuffer. an existing framebuffer server may be reused; in that case rtwizard leaves it open after rendering. πŸ”Œ
  • --benchmark β€” benchmark mode: disable randomness for reproducible timing. ⏱️
  • --cpu-count # β€” number of CPUs to use. 🧠
  • --pid-file filename β€” file used for tracking process IDs. πŸ“„
  • --log-file filename β€” write debugging output to this file. πŸ—’οΈ
  • -v #, --verbose # β€” set the verbosity level. πŸ—£οΈ

πŸ”₯ EXAMPLES πŸ”₯

Example 1. Highlighted color-plus-edge image at a custom view

rtwizard -i m35.g -c component/power.train -g component -l component \
         -a -35 -e 15 -z 1.6 -o m35.png

render the m35 sample model with its power train highlighted in full color over a ghosted, edge-lined truck body, viewed from azimuth -35 and elevation 15 and zoomed in 1.6x, saving the result as a PNG image. she's gorgeous, your honor πŸ’–

Example 2. Bulk rendering on the command line

for g in *.g; do
    rtwizard --no-gui -t A -i "$g" -c all -s 1024 -o "${g%.g}.png"
done

non-interactively produce a 1024x1024 full-color image of the "all" object in every .g file in the current directory, naming each output after its database. --no-gui ensures the script never blocks on the GUI. automation ate, no crumbs πŸ”₯

Example 3. Live preview on a framebuffer

rtwizard -d /dev/wgl -i m35.g -l component

display a line drawing of the m35 truck in an OpenGL framebuffer window rather than writing it to a file. live preview moment ✨


πŸ¦‹ SEE ALSO πŸ¦‹

brlcad(1), rt(1), rtedge(1), fbserv(1), fbhelp(1), pix(5)


πŸ‘‘ AUTHOR πŸ‘‘

BRL-CAD Team πŸ’œ


this software is Copyright (c) 1989-2026 by the United States Government as represented by U.S. Army Research Laboratory. πŸ“œ


πŸ“ BUG REPORTS πŸ“

reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org β€” they're literally waiting for your lore drop, bestie 🫢


okay that's the whole page!! πŸ’… this cutie lives in the BRL-CAD manual set as RTWIZARD(1) β€” go make something iconic with it πŸŽ€βœ¨

πŸ“¦ where this page comes from