CGFXCAT(1)
β¨ CGFXCAT(1) β the Cg Commands era β¨
okay so bestie, welcome to CGFXCAT(1) π this is a little tool from the Cg Commands corner of the universe and it is literally just here to spill the tea about your shader files. sit down, grab a strawberry π, we're doing this.
πΈ NAME πΈ
cgfxcat β dump a Cg effect or program file to standard out π«Ά
β¨ SYNOPSIS β¨
cgfxcat.exe [-gl] [-effect] [-program] [-object] [-profile profile]
[-entry entry] file
π DESCRIPTION π
so cgfxcat loads up an effect file or a program file, and then it goes absolutely feral calling every single query operation available in the core runtime on the resulting Cg object π and all those returned values? straight to standard out. no filter, no edit, just vibes.
and if you're the kind of girl who needs to see the source (iconic behaviour honestly), the source code for cgfxcat lives under examples/Tools/cgfxcat π
π OPTIONS π
fileβ the effect or program file you want processed, bestie.cgfxcatcan handle effect files, program files, or precompiled program files. here's the whole vibe check on how it picks:- files with a
.cgfxor.fxextension get loaded usingcgCreateEffectFromFileπ - files with a
.cgor.hlslextension get loaded usingcgCreateProgramFromFile⨠- any other extension gets passed to
cgGetProfile, and if a validCGprofileis found, the file gets loaded usingcgCreateProgramFromFilewith theprogram_typeset toCG_OBJECTπ¦ - and yes, you can override all these built-in file extension mappings with the
-effect,-program, or<-object>options. your file, your rules π
- files with a
-effectβ treatfileas an effect file, ignoring its extension. we said what we said π-programβ treatfileas a program file, ignoring its extension.-objectβ treatfileas an precompiled program file, ignoring its extension.-profileprofile β use theCGprofilereturned bycgGetProfilefor profile as the profile argument ofcgCreateProgramFromFilewhen compilingfileπ§-entryentry β use entry as the entry argument ofcgCreateProgramFromFilewhen compilingfileβ-glβ register states withcgGLRegisterStatesrather than using the generic state code built intocgfxcatπ₯
π SEE ALSO π
cgCreateEffectFromFile, cgCreateProgramFromFile, cgGetProfile, cgGLRegisterStates
and that's the whole page, no cap π every flag accounted for, every extension mapped, nothing skipped. slay.
okay bye bestie, this one was rendered with perl v5.10.0 and it's from the Cg Toolkit 3.0 era β so when you're out here dumping effects and programs, just know it's giving very much classic Cg. periodt. πβ¨π
π¦ where this page comes from
- debian bookworm: nvidia-cg-toolkit 3.1.0013-5+b1 Β· NVIDIA-cg-toolkit
- debian trixie: nvidia-cg-toolkit 3.1.0013-5+b1 Β· NVIDIA-cg-toolkit
- ubuntu jammy: nvidia-cg-toolkit 3.1.0013-5 Β· NVIDIA-cg-toolkit
- ubuntu noble: nvidia-cg-toolkit 3.1.0013-5build1 Β· NVIDIA-cg-toolkit
- ubuntu questing: nvidia-cg-toolkit 3.1.0013-5build1
- ubuntu resolute: nvidia-cg-toolkit 3.1.0013-5build2 Β· NVIDIA-cg-toolkit
- ubuntu stonking: nvidia-cg-toolkit 3.1.0013-5build2 Β· NVIDIA-cg-toolkit
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms