Menu

Tree [r1658] /
 History

HTTPS access


File Date Author Commit
 .spelling 2018-10-17 timurhai [r1613] 230
 afanasy 2025-02-07 timurhai [r1658] 3.4.0
 bin 2025-02-04 timurhai [r1654] 3.4.0
 docs 2025-02-04 timurhai [r1655] 3.4.0
 examples 2025-02-04 timurhai [r1654] 3.4.0
 icons 2025-02-04 timurhai [r1657] 3.4.0
 lib 2025-02-04 timurhai [r1654] 3.4.0
 plugins 2025-02-04 timurhai [r1655] 3.4.0
 rules 2025-02-07 timurhai [r1658] 3.4.0
 software_setup 2025-02-04 timurhai [r1657] 3.4.0
 start 2025-02-04 timurhai [r1654] 3.4.0
 utilities 2025-02-04 timurhai [r1654] 3.4.0
 .clang-format 2018-10-17 timurhai [r1613] 230
 .gitignore 2025-02-04 timurhai [r1654] 3.4.0
 .readthedocs.yaml 2025-02-04 timurhai [r1655] 3.4.0
 LICENSE.txt 2021-04-18 timurhai [r1637] 3.2.0
 README.md 2021-01-29 timurhai [r1634] 3.1.1
 afanasy_logo.svg 2021-01-29 timurhai [r1634] 3.1.1
 cgru_logo.svg 2021-01-29 timurhai [r1634] 3.1.1
 config_default.json 2021-08-18 timurhai [r1639] 3.2.1
 favicon.ico 2012-09-26 timurhai [r1537] 1.6.6
 htaccess_example 2025-02-04 timurhai [r1654] 3.4.0
 index.html 2025-02-04 timurhai [r1654] 3.4.0
 player.html 2023-03-05 timurhai [r1649] 331
 rules.php 2022-02-08 timurhai [r1642] 322
 setup.cmd 2016-04-28 timurhai [r1590] 210
 setup.sh 2025-02-04 timurhai [r1654] 3.4.0
 setup_README.cmd 2010-12-03 timurhai [r465] windows examples
 setup_README.sh 2025-02-04 timurhai [r1654] 3.4.0
 setup_afanasy.cmd 2012-03-19 timurhai [r1524] config default mistake, cmake project clear kee...
 setup_afanasy.sh 2025-02-04 timurhai [r1654] 3.4.0
 setup_python.cmd 2022-02-08 timurhai [r1642] 322
 setup_python.sh 2025-02-04 timurhai [r1654] 3.4.0
 start.cmd 2011-11-12 timurhai [r1154] keeper win wd
 start.command 2011-11-07 timurhai [r1145] start and browse on mac
 start.sh 2025-02-04 timurhai [r1654] 3.4.0
 version.txt 2025-02-04 timurhai [r1654] 3.4.0

Read Me

CGRU

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.

Site

Documentation

Forum

You can ask any questions on the CGRU forum.

GitHub issues are used for code development and bug tracking.

Coding rules:

  • Indentation - TABS. You can vary tab length, default 4 spaces length is normal.
    • Python Indentation - SPACES(4). It is not a problem to tune any modern text editor for each file type.
  • Code alignment - SPACES, it should not break on various tab length.
  • Variable names: variable_name.
  • Function names: functionName.
  • Class names: ClassName.
  • Use prefixes to make code more readable:
    • i_ - Input variables.
    • o_ - Output variables.
    • m_ - Class members.
    • ms_ - Static class members.
    • g_ - External variables.
    • v_ - Virtual functions.
  • Do not use "!" as NOT, since it is not noticeable for doing code review. It is much more easy to notice false ==.
  • Use 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.
  • Use const & to pass complex types as function parameters to not to copy class instance.

Example:

// 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

Some names:

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.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.