CGRU is the Computer Graphics Tools Pack.
It consists of the main tools Afanasy and Rules. Other tools are arranged as satellites around these two, like dailies encoding scripts and software submission plug-ins.
Afanasy is a render farm manager.
Rules is a Web based CG projects tracker.
You can ask any questions on the CGRU forum.
GitHub issues are used for code development and bug tracking.
i_
- Input variables.o_
- Output variables.m_
- Class members.ms_
- Static class members.g_
- External variables.v_
- Virtual functions.false ==
.false == var
and NULL == val
instead of var == false
or var == NULL
.
As if you miss one '=' character, it will not be an error, it will be assignment, not comparison.const &
to pass complex types as function parameters to not to copy class instance.// Function with long parameters list:
bool someFunction(std::string &o_status, const std::string &i_param1, const std::string &i_param2,
const std::string &i_param3, const std::string &i_param4)
{
...
if (false == variable_name)
{
o_status = "error";
return false;
}
return true;
}
You will notice, that some parts of the code are not following these rules. This is mostly because such code has been written before these rules were created or changed.
The typical file header and code style for C++ and JS files can automatically be applied with the script utilities/maintenance/codeStyleCheck.php see the file for instructions of setup and usage.
The file header shall contain as much information as possible about the file, you can find a good example here: afanasy/browser/monitor.js
CGRU - came from CG - Rules. It has two meanings: computer graphics principles and computer graphics is a cool thing.
Afanasy - came from a Greek name meaning immortal.
Rules - simple came from rules! This project tracker is based on defined rules. Mostly project structure rules, where to store sources, references, dailies, outputs. As Rules does not have its own database, it walks file-server folders structure.