Skip to content

yannci/cgru

This branch is 1096 commits behind CGRU/cgru:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a5a3f6d · Oct 28, 2020
Nov 25, 2017
Sep 30, 2020
Sep 10, 2020
Oct 7, 2020
Sep 21, 2020
Sep 2, 2020
Oct 5, 2020
Sep 11, 2020
Oct 20, 2020
Oct 4, 2016
Oct 27, 2020
Mar 26, 2020
Oct 15, 2020
Nov 12, 2017
Nov 26, 2018
Oct 7, 2020
Apr 18, 2020
Sep 10, 2012
Feb 20, 2019
Aug 6, 2020
Nov 1, 2018
Sep 21, 2020
Apr 25, 2016
Dec 1, 2015
Mar 13, 2012
Mar 13, 2012
Mar 19, 2012
Apr 14, 2012
May 4, 2018
Jan 17, 2017
Mar 13, 2012
Mar 13, 2012
Mar 13, 2012
Sep 28, 2020

Repository files navigation

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.

About

CGRU - AFANASY

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 50.2%
  • Python 21.9%
  • JavaScript 16.0%
  • QML 4.7%
  • Shell 1.4%
  • PHP 1.4%
  • Other 4.4%