-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTIGRE
71 lines (57 loc) · 1.73 KB
/
TIGRE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Architecture:
==============
- namespaces are written in lowercase
- a namespace holds a set of interfaces and cross-platform code
- a subdirectory named after its interface (ex: Renderer/) can hold
multiple implementations of that interface, for different systems.
::tigre
::core
- Exceptions
- Resource
- Loader
- Logger
- Timer
::gfx
- Renderer
- Display
- Context
- Image
- Texture2D
- Mesh
- ModelMesh
- Shader
- Color
- Rectangle
::game
- Game
- Content
- Sphere
::os::
::android
- Activity
Compilation:
=============
Tigre is very modular, like a bunch of Lego pieces, and it would be nonsense to
provide one very specific build since everyone is likely to need something
different.
Tigre provides some examples that you can use as a starter, including
different ways to compile the library, so you can easily adapt it to your needs.
Indentation:
=============
Allman style, also known as ANSI style or BSD style. This is what Tigre
uses but you are free to use your favorite indent style.
Conventions:
=============
Tigre uses its own coding conventions to be as simple as possible:
* Naming:
- private attributes start with an underscore (ex: _name)
- namespaces, functions and methods start with a lowercase letter
- the underscore is use as a separator for C code (ex: some_cool_name)
- whereas a captial letter is prefered in C++ (ex: someCoolName)
* Comments:
- C style comments are used for documentation (ex: /** ... */)
- C++ double-dash comments are also used inside a block to give a
specific information on a particular line (ex: // here is a tip)
- comments lenght can exceed 80 characters but it has to remain resonable
* Spaces:
- Tigre uses a simple line as a vertical separator