From 810cc345e1e02ba048799560eb80bffab82e054a Mon Sep 17 00:00:00 2001 From: milang Date: Thu, 29 Aug 2019 19:32:11 +0200 Subject: [PATCH] complete some doc --- doc/html/annotated.html | 7 +- doc/html/annotated_dup.js | 3 +- doc/html/classes.html | 9 +- .../dir_ada157988d47c0ed8971be2c0e2fe61c.html | 2 + .../dir_ada157988d47c0ed8971be2c0e2fe61c.js | 3 + doc/html/files.html | 3 +- doc/html/functions.html | 9 + doc/html/functions_vars.html | 9 + doc/html/navtreeindex0.js | 14 +- doc/html/search/all_9.js | 1 + doc/html/search/all_a.js | 3 + doc/html/search/all_b.js | 3 +- doc/html/search/classes_2.html | 30 +++ doc/html/search/classes_2.js | 4 + doc/html/search/files_3.js | 3 +- doc/html/search/searchdata.js | 2 +- doc/html/search/variables_5.js | 3 + doc/html/struct_f_e__floating__position.html | 14 +- doc/html/struct_f_e__integer__point.html | 12 +- doc/html/struct_f_e__integer__position.html | 14 +- doc/html/structrender__triangle.html | 175 +++++++++++++++++ doc/html/structrender__triangle.js | 6 + doc/html/translate_8h.html | 63 +++++- doc/html/translate_8h_source.html | 33 ++-- doc/html/triangle_8h.html | 117 +++++++++++ doc/html/triangle_8h_source.html | 112 +++++++++++ doc/html/zbuffer_8h.html | 2 +- doc/html/zbuffer_8h_source.html | 3 +- doc/man/man3/FE_floating_position.3 | 47 +++++ doc/man/man3/FE_integer_point.3 | 40 ++++ doc/man/man3/FE_integer_position.3 | 47 +++++ .../man3/_home_milan_dev_fxengine_include_.3 | 18 ++ .../_home_milan_dev_fxengine_include_event_.3 | 15 ++ ..._home_milan_dev_fxengine_include_render_.3 | 27 +++ doc/man/man3/bitmap.h.3 | 135 +++++++++++++ doc/man/man3/bitmap_rich.3 | 84 ++++++++ doc/man/man3/keyboard.h.3 | 47 +++++ doc/man/man3/parameters.h.3 | 59 ++++++ doc/man/man3/render_triangle.3 | 44 +++++ doc/man/man3/translate.h.3 | 182 ++++++++++++++++++ doc/man/man3/triangle.h.3 | 21 ++ doc/man/man3/zbuffer.h.3 | 34 ++++ include/render/translate.h | 68 +++++-- 43 files changed, 1462 insertions(+), 65 deletions(-) create mode 100644 doc/html/search/classes_2.html create mode 100644 doc/html/search/classes_2.js create mode 100644 doc/html/structrender__triangle.html create mode 100644 doc/html/structrender__triangle.js create mode 100644 doc/html/triangle_8h.html create mode 100644 doc/html/triangle_8h_source.html create mode 100644 doc/man/man3/FE_floating_position.3 create mode 100644 doc/man/man3/FE_integer_point.3 create mode 100644 doc/man/man3/FE_integer_position.3 create mode 100644 doc/man/man3/_home_milan_dev_fxengine_include_.3 create mode 100644 doc/man/man3/_home_milan_dev_fxengine_include_event_.3 create mode 100644 doc/man/man3/_home_milan_dev_fxengine_include_render_.3 create mode 100644 doc/man/man3/bitmap.h.3 create mode 100644 doc/man/man3/bitmap_rich.3 create mode 100644 doc/man/man3/keyboard.h.3 create mode 100644 doc/man/man3/parameters.h.3 create mode 100644 doc/man/man3/render_triangle.3 create mode 100644 doc/man/man3/translate.h.3 create mode 100644 doc/man/man3/triangle.h.3 create mode 100644 doc/man/man3/zbuffer.h.3 diff --git a/doc/html/annotated.html b/doc/html/annotated.html index 83cd138..385d6b3 100644 --- a/doc/html/annotated.html +++ b/doc/html/annotated.html @@ -94,9 +94,10 @@ $(document).ready(function(){initNavTree('annotated.html','');});
Here are the data structures with brief descriptions:
- - - + + + +
 Cbitmap_richBitmap rich type transparency is in the layout
 CFE_floating_position
 CFE_integer_point
 CFE_integer_position
 CFE_floating_positionThis struct is a point in 3d, which has coords save as double it is not recommended to use it for high performances rendering, because of the sh3eb-elf architecture, which does not support natively floating calculation
 CFE_integer_pointThis is a point which is used for 3d translations and rendering integer mode is the best solution to increase perfs, and that's why I didn't have implemented te floating_points yet
 CFE_integer_positionThis struct is a point in 3d, which has coords save as uint32_t this is the recommended type for high performance rendering, because the sh3eb-elf architecture is 32 bits
 Crender_triangle
diff --git a/doc/html/annotated_dup.js b/doc/html/annotated_dup.js index 864e0d9..b918c39 100644 --- a/doc/html/annotated_dup.js +++ b/doc/html/annotated_dup.js @@ -3,5 +3,6 @@ var annotated_dup = [ "bitmap_rich", "structbitmap__rich.html", "structbitmap__rich" ], [ "FE_floating_position", "struct_f_e__floating__position.html", "struct_f_e__floating__position" ], [ "FE_integer_point", "struct_f_e__integer__point.html", "struct_f_e__integer__point" ], - [ "FE_integer_position", "struct_f_e__integer__position.html", "struct_f_e__integer__position" ] + [ "FE_integer_position", "struct_f_e__integer__position.html", "struct_f_e__integer__position" ], + [ "render_triangle", "structrender__triangle.html", "structrender__triangle" ] ]; \ No newline at end of file diff --git a/doc/html/classes.html b/doc/html/classes.html index b142e7f..63143d1 100644 --- a/doc/html/classes.html +++ b/doc/html/classes.html @@ -91,16 +91,19 @@ $(document).ready(function(){initNavTree('classes.html','');});
Data Structure Index
-
b | f
+
b | f | r
- + + +
  b  
  f  
FE_integer_point   
FE_integer_position   
bitmap_rich   FE_floating_position   
bitmap_rich   FE_floating_position   
  r  
+
render_triangle   
-
b | f
+
b | f | r
diff --git a/doc/html/dir_ada157988d47c0ed8971be2c0e2fe61c.html b/doc/html/dir_ada157988d47c0ed8971be2c0e2fe61c.html index e6cea7f..4df0bae 100644 --- a/doc/html/dir_ada157988d47c0ed8971be2c0e2fe61c.html +++ b/doc/html/dir_ada157988d47c0ed8971be2c0e2fe61c.html @@ -100,6 +100,8 @@ Files   file  translate.h [code]   +file  triangle.h [code] +  file  zbuffer.h [code]   diff --git a/doc/html/dir_ada157988d47c0ed8971be2c0e2fe61c.js b/doc/html/dir_ada157988d47c0ed8971be2c0e2fe61c.js index b591ba3..31b78d6 100644 --- a/doc/html/dir_ada157988d47c0ed8971be2c0e2fe61c.js +++ b/doc/html/dir_ada157988d47c0ed8971be2c0e2fe61c.js @@ -3,5 +3,8 @@ var dir_ada157988d47c0ed8971be2c0e2fe61c = [ "bitmap.h", "bitmap_8h.html", "bitmap_8h" ], [ "parameters.h", "parameters_8h.html", "parameters_8h" ], [ "translate.h", "translate_8h.html", "translate_8h" ], + [ "triangle.h", "triangle_8h.html", [ + [ "render_triangle", "structrender__triangle.html", "structrender__triangle" ] + ] ], [ "zbuffer.h", "zbuffer_8h.html", "zbuffer_8h" ] ]; \ No newline at end of file diff --git a/doc/html/files.html b/doc/html/files.html index 0e1ef61..2291c84 100644 --- a/doc/html/files.html +++ b/doc/html/files.html @@ -100,7 +100,8 @@ $(document).ready(function(){initNavTree('files.html','');});  bitmap.h  parameters.h  translate.h - zbuffer.h + triangle.h + zbuffer.h diff --git a/doc/html/functions.html b/doc/html/functions.html index 28df65c..b563a70 100644 --- a/doc/html/functions.html +++ b/doc/html/functions.html @@ -103,6 +103,15 @@ $(document).ready(function(){initNavTree('functions.html','');});
  • real : FE_integer_point
  • +
  • s1 +: render_triangle +
  • +
  • s2 +: render_triangle +
  • +
  • s3 +: render_triangle +
  • size_o_y : bitmap_rich
  • diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html index b7a24ce..fb9793d 100644 --- a/doc/html/functions_vars.html +++ b/doc/html/functions_vars.html @@ -103,6 +103,15 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
  • real : FE_integer_point
  • +
  • s1 +: render_triangle +
  • +
  • s2 +: render_triangle +
  • +
  • s3 +: render_triangle +
  • size_o_y : bitmap_rich
  • diff --git a/doc/html/navtreeindex0.js b/doc/html/navtreeindex0.js index b9a67fb..be00b35 100644 --- a/doc/html/navtreeindex0.js +++ b/doc/html/navtreeindex0.js @@ -54,6 +54,10 @@ var NAVTREEINDEX0 = "structbitmap__rich.html#aae2586772c20f2cc9d3304dfaa5658db":[0,0,0,2], "structbitmap__rich.html#adbb4f0394792d5c377b12ed98719c3d1":[0,0,0,5], "structbitmap__rich.html#addbfd7b270cfe443d1e9ee853bbde93e":[0,0,0,6], +"structrender__triangle.html":[0,0,4], +"structrender__triangle.html#a1fe74233c38d81275b284f220bf8a719":[0,0,4,0], +"structrender__triangle.html#a28934a39804f80cf2225f1f1129c657e":[0,0,4,2], +"structrender__triangle.html#a8bac588c16095138f4c6e7e07c0dc262":[0,0,4,1], "translate_8h.html":[1,0,0,1,2], "translate_8h.html#a29539de4d4f8937b304e70fc4aa3b672":[1,0,0,1,2,13], "translate_8h.html#a2c0cc2347cdb41873a6b0dbc108b15d3":[1,0,0,1,2,12], @@ -67,8 +71,10 @@ var NAVTREEINDEX0 = "translate_8h.html#ac7a1183c29d9d3cd34e73d7cb2213b8a":[1,0,0,1,2,6], "translate_8h.html#ad9469e65551169eb575e264a8ad0e9e6":[1,0,0,1,2,9], "translate_8h_source.html":[1,0,0,1,2], -"zbuffer_8h.html":[1,0,0,1,3], -"zbuffer_8h.html#a42b8d8385be4bd07a2fe0c30967d16b5":[1,0,0,1,3,0], -"zbuffer_8h.html#ae829a01df94b7c47ee12c4443bd38027":[1,0,0,1,3,1], -"zbuffer_8h_source.html":[1,0,0,1,3] +"triangle_8h.html":[1,0,0,1,3], +"triangle_8h_source.html":[1,0,0,1,3], +"zbuffer_8h.html":[1,0,0,1,4], +"zbuffer_8h.html#a42b8d8385be4bd07a2fe0c30967d16b5":[1,0,0,1,4,0], +"zbuffer_8h.html#ae829a01df94b7c47ee12c4443bd38027":[1,0,0,1,4,1], +"zbuffer_8h_source.html":[1,0,0,1,4] }; diff --git a/doc/html/search/all_9.js b/doc/html/search/all_9.js index b85ab6a..721916a 100644 --- a/doc/html/search/all_9.js +++ b/doc/html/search/all_9.js @@ -6,6 +6,7 @@ var searchData= ['render_5fmin_5fdist',['render_min_dist',['../parameters_8h.html#a0ba94ff36e6c2a548735e40012f7ccbd',1,'parameters.h']]], ['render_5fset',['render_set',['../translate_8h.html#a92fa63cabc18462be74711f65c5e5466',1,'translate.h']]], ['render_5ftranslate',['render_translate',['../translate_8h.html#ad9469e65551169eb575e264a8ad0e9e6',1,'translate.h']]], + ['render_5ftriangle',['render_triangle',['../structrender__triangle.html',1,'']]], ['render_5fwidth',['render_width',['../parameters_8h.html#a791a4a111886d2cab059ebc5ab6aa722',1,'parameters.h']]], ['render_5fx_5fmid',['render_x_mid',['../parameters_8h.html#a887e6ccc340beb6774eb95667d3bfe05',1,'parameters.h']]], ['render_5fy_5fmid',['render_y_mid',['../parameters_8h.html#ab67f355ab6184dcd911f0bf9380196c4',1,'parameters.h']]], diff --git a/doc/html/search/all_a.js b/doc/html/search/all_a.js index 880cc7c..8c66e73 100644 --- a/doc/html/search/all_a.js +++ b/doc/html/search/all_a.js @@ -1,5 +1,8 @@ var searchData= [ + ['s1',['s1',['../structrender__triangle.html#a1fe74233c38d81275b284f220bf8a719',1,'render_triangle']]], + ['s2',['s2',['../structrender__triangle.html#a8bac588c16095138f4c6e7e07c0dc262',1,'render_triangle']]], + ['s3',['s3',['../structrender__triangle.html#a28934a39804f80cf2225f1f1129c657e',1,'render_triangle']]], ['sin',['sin',['../translate_8h.html#a6fcd1947589f80d925b2a945cbb2156f',1,'translate.h']]], ['size_5fo_5fy',['size_o_y',['../structbitmap__rich.html#a4be8704a07fb39c310a7f403499f95d2',1,'bitmap_rich']]], ['size_5fpx_5fx',['size_px_x',['../structbitmap__rich.html#adbb4f0394792d5c377b12ed98719c3d1',1,'bitmap_rich']]], diff --git a/doc/html/search/all_b.js b/doc/html/search/all_b.js index cb908bc..8718c32 100644 --- a/doc/html/search/all_b.js +++ b/doc/html/search/all_b.js @@ -1,5 +1,6 @@ var searchData= [ ['translate_2eh',['translate.h',['../translate_8h.html',1,'']]], - ['translated',['translated',['../struct_f_e__integer__point.html#a5dcb58bfcc85786010474592d78029cb',1,'FE_integer_point']]] + ['translated',['translated',['../struct_f_e__integer__point.html#a5dcb58bfcc85786010474592d78029cb',1,'FE_integer_point']]], + ['triangle_2eh',['triangle.h',['../triangle_8h.html',1,'']]] ]; diff --git a/doc/html/search/classes_2.html b/doc/html/search/classes_2.html new file mode 100644 index 0000000..7878acb --- /dev/null +++ b/doc/html/search/classes_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/html/search/classes_2.js b/doc/html/search/classes_2.js new file mode 100644 index 0000000..3f93972 --- /dev/null +++ b/doc/html/search/classes_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['render_5ftriangle',['render_triangle',['../structrender__triangle.html',1,'']]] +]; diff --git a/doc/html/search/files_3.js b/doc/html/search/files_3.js index 8d90929..96d121f 100644 --- a/doc/html/search/files_3.js +++ b/doc/html/search/files_3.js @@ -1,4 +1,5 @@ var searchData= [ - ['translate_2eh',['translate.h',['../translate_8h.html',1,'']]] + ['translate_2eh',['translate.h',['../translate_8h.html',1,'']]], + ['triangle_2eh',['triangle.h',['../triangle_8h.html',1,'']]] ]; diff --git a/doc/html/search/searchdata.js b/doc/html/search/searchdata.js index 6d015ad..67d9b8f 100644 --- a/doc/html/search/searchdata.js +++ b/doc/html/search/searchdata.js @@ -1,7 +1,7 @@ var indexSectionsWithContent = { 0: "bcdefklmprstxyz", - 1: "bf", + 1: "bfr", 2: "bkptz", 3: "bcemrs", 4: "cdlprstxyz", diff --git a/doc/html/search/variables_5.js b/doc/html/search/variables_5.js index 3b8d48c..b028a9c 100644 --- a/doc/html/search/variables_5.js +++ b/doc/html/search/variables_5.js @@ -1,5 +1,8 @@ var searchData= [ + ['s1',['s1',['../structrender__triangle.html#a1fe74233c38d81275b284f220bf8a719',1,'render_triangle']]], + ['s2',['s2',['../structrender__triangle.html#a8bac588c16095138f4c6e7e07c0dc262',1,'render_triangle']]], + ['s3',['s3',['../structrender__triangle.html#a28934a39804f80cf2225f1f1129c657e',1,'render_triangle']]], ['size_5fo_5fy',['size_o_y',['../structbitmap__rich.html#a4be8704a07fb39c310a7f403499f95d2',1,'bitmap_rich']]], ['size_5fpx_5fx',['size_px_x',['../structbitmap__rich.html#adbb4f0394792d5c377b12ed98719c3d1',1,'bitmap_rich']]], ['size_5fpx_5fy',['size_px_y',['../structbitmap__rich.html#addbfd7b270cfe443d1e9ee853bbde93e',1,'bitmap_rich']]] diff --git a/doc/html/struct_f_e__floating__position.html b/doc/html/struct_f_e__floating__position.html index 86cc37a..81921c8 100644 --- a/doc/html/struct_f_e__floating__position.html +++ b/doc/html/struct_f_e__floating__position.html @@ -94,6 +94,9 @@ $(document).ready(function(){initNavTree('struct_f_e__floating__position.html','
    +

    this struct is a point in 3d, which has coords save as double it is not recommended to use it for high performances rendering, because of the sh3eb-elf architecture, which does not support natively floating calculation + More...

    +

    #include <translate.h>

    @@ -106,8 +109,9 @@ Data Fields

     

    Detailed Description

    -
    -

    Definition at line 18 of file translate.h.

    +

    this struct is a point in 3d, which has coords save as double it is not recommended to use it for high performances rendering, because of the sh3eb-elf architecture, which does not support natively floating calculation

    + +

    Definition at line 23 of file translate.h.

    Field Documentation

    ◆ x

    @@ -121,7 +125,7 @@ Data Fields
    -

    Definition at line 20 of file translate.h.

    +

    Definition at line 25 of file translate.h.

    @@ -137,7 +141,7 @@ Data Fields
    -

    Definition at line 20 of file translate.h.

    +

    Definition at line 25 of file translate.h.

    @@ -153,7 +157,7 @@ Data Fields
    -

    Definition at line 20 of file translate.h.

    +

    Definition at line 25 of file translate.h.

    diff --git a/doc/html/struct_f_e__integer__point.html b/doc/html/struct_f_e__integer__point.html index ca961bd..b7fe7ba 100644 --- a/doc/html/struct_f_e__integer__point.html +++ b/doc/html/struct_f_e__integer__point.html @@ -94,6 +94,9 @@ $(document).ready(function(){initNavTree('struct_f_e__integer__point.html','');}
    +

    This is a point which is used for 3d translations and rendering integer mode is the best solution to increase perfs, and that's why I didn't have implemented te floating_points yet. + More...

    +

    #include <translate.h>

    @@ -104,8 +107,9 @@ Data Fields

     

    Detailed Description

    -
    -

    Definition at line 30 of file translate.h.

    +

    This is a point which is used for 3d translations and rendering integer mode is the best solution to increase perfs, and that's why I didn't have implemented te floating_points yet.

    + +

    Definition at line 36 of file translate.h.

    Field Documentation

    ◆ real

    @@ -119,7 +123,7 @@ Data Fields
    -

    Definition at line 32 of file translate.h.

    +

    Definition at line 38 of file translate.h.

    @@ -135,7 +139,7 @@ Data Fields
    -

    Definition at line 32 of file translate.h.

    +

    Definition at line 38 of file translate.h.

    diff --git a/doc/html/struct_f_e__integer__position.html b/doc/html/struct_f_e__integer__position.html index c18aa51..39822d5 100644 --- a/doc/html/struct_f_e__integer__position.html +++ b/doc/html/struct_f_e__integer__position.html @@ -94,6 +94,9 @@ $(document).ready(function(){initNavTree('struct_f_e__integer__position.html',''
    +

    this struct is a point in 3d, which has coords save as uint32_t this is the recommended type for high performance rendering, because the sh3eb-elf architecture is 32 bits + More...

    +

    #include <translate.h>

    @@ -106,8 +109,9 @@ Data Fields

     

    Detailed Description

    -
    -

    Definition at line 10 of file translate.h.

    +

    this struct is a point in 3d, which has coords save as uint32_t this is the recommended type for high performance rendering, because the sh3eb-elf architecture is 32 bits

    + +

    Definition at line 11 of file translate.h.

    Field Documentation

    ◆ x

    @@ -121,7 +125,7 @@ Data Fields
    -

    Definition at line 12 of file translate.h.

    +

    Definition at line 13 of file translate.h.

    @@ -137,7 +141,7 @@ Data Fields
    -

    Definition at line 12 of file translate.h.

    +

    Definition at line 13 of file translate.h.

    @@ -153,7 +157,7 @@ Data Fields
    -

    Definition at line 12 of file translate.h.

    +

    Definition at line 13 of file translate.h.

    diff --git a/doc/html/structrender__triangle.html b/doc/html/structrender__triangle.html new file mode 100644 index 0000000..a6d760a --- /dev/null +++ b/doc/html/structrender__triangle.html @@ -0,0 +1,175 @@ + + + + + + + +FxEngine: render_triangle Struct Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    FxEngine +  0.0.1 +
    +
    3d engine for fx9860G calculators
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    render_triangle Struct Reference
    +
    +
    + +

    #include <triangle.h>

    + + + + + + + + +

    +Data Fields

    FE_integer_positions1
     
    FE_integer_positions2
     
    FE_integer_positions3
     
    +

    Detailed Description

    +
    +

    Definition at line 3 of file triangle.h.

    +

    Field Documentation

    + +

    ◆ s1

    + +
    +
    + + + + +
    FE_integer_position* s1
    +
    + +

    Definition at line 5 of file triangle.h.

    + +
    +
    + +

    ◆ s2

    + +
    +
    + + + + +
    FE_integer_position* s2
    +
    + +

    Definition at line 6 of file triangle.h.

    + +
    +
    + +

    ◆ s3

    + +
    +
    + + + + +
    FE_integer_position* s3
    +
    + +

    Definition at line 7 of file triangle.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/doc/html/structrender__triangle.js b/doc/html/structrender__triangle.js new file mode 100644 index 0000000..8506b48 --- /dev/null +++ b/doc/html/structrender__triangle.js @@ -0,0 +1,6 @@ +var structrender__triangle = +[ + [ "s1", "structrender__triangle.html#a1fe74233c38d81275b284f220bf8a719", null ], + [ "s2", "structrender__triangle.html#a8bac588c16095138f4c6e7e07c0dc262", null ], + [ "s3", "structrender__triangle.html#a28934a39804f80cf2225f1f1129c657e", null ] +]; \ No newline at end of file diff --git a/doc/html/translate_8h.html b/doc/html/translate_8h.html index 989b0f5..2d3beab 100644 --- a/doc/html/translate_8h.html +++ b/doc/html/translate_8h.html @@ -97,17 +97,20 @@ $(document).ready(function(){initNavTree('translate_8h.html','');});
    #include <stdint.h>
    -#include <fxengine/render/parameters.h>
    +#include <render/parameters.h>

    Go to the source code of this file.

    + + +

    Data Structures

    struct  FE_integer_position
     this struct is a point in 3d, which has coords save as uint32_t this is the recommended type for high performance rendering, because the sh3eb-elf architecture is 32 bits More...
     
    struct  FE_floating_position
     this struct is a point in 3d, which has coords save as double it is not recommended to use it for high performances rendering, because of the sh3eb-elf architecture, which does not support natively floating calculation More...
     
    struct  FE_integer_point
     This is a point which is used for 3d translations and rendering integer mode is the best solution to increase perfs, and that's why I didn't have implemented te floating_points yet. More...
     
    + + + + +

    @@ -122,14 +125,19 @@ Typedefs

    Functions

    void render_translate (FE_integer_point *point)
     This function rotates and applies perspective on an integer point. More...
     
    void render_set (const double dh, const double dv, const double roulis, const FE_integer_position *camera)
     Sets up the translation matrices for a new rendering cycle. More...
     
    double modulo_2pi (double a)
     Sets up an angle mesure between -pi and +pi. More...
     
    double cos (double angle)
     Homemade cosinus implementation, which is faster than casio provided cosinus function. More...
     
    double sin (const double angle)
     Homemade sinus implementation, which is faster than casio provided sinus function. More...
     

    @@ -154,7 +162,7 @@ Variables

    -

    Definition at line 17 of file translate.h.

    +

    Definition at line 29 of file translate.h.

    @@ -170,7 +178,7 @@ Variables
    -

    Definition at line 29 of file translate.h.

    +

    Definition at line 41 of file translate.h.

    @@ -186,7 +194,7 @@ Variables
    -

    Definition at line 9 of file translate.h.

    +

    Definition at line 17 of file translate.h.

    @@ -207,6 +215,15 @@ Variables
    +

    Homemade cosinus implementation, which is faster than casio provided cosinus function.

    +
    Parameters
    + + +
    [in]angleThe angle (rad)
    +
    +
    +
    Returns
    cos angle
    +
    @@ -225,6 +242,15 @@ Variables
    +

    Sets up an angle mesure between -pi and +pi.

    +
    Parameters
    + + +
    [in]athe angle (rad)
    +
    +
    +
    Returns
    angle mesure which respect the following contraint : -pi <= angle <= pi
    +
    @@ -265,6 +291,17 @@ Variables
    +

    Sets up the translation matrices for a new rendering cycle.

    +
    Parameters
    + + + + + +
    [in]dhCamera's horizontal direction (rad)
    [in]dvCamera's vertical direction (rad)
    [in]roulisOptionnal rotation around the middle of the screen
    [in]cameraThe camera's coordinates, as an integer position
    +
    +
    +
    @@ -283,6 +320,14 @@ Variables
    +

    This function rotates and applies perspective on an integer point.

    +
    Parameters
    + + +
    pointThe point which needs to be translated
    +
    +
    +
    @@ -301,6 +346,15 @@ Variables
    +

    Homemade sinus implementation, which is faster than casio provided sinus function.

    +
    Parameters
    + + +
    [in]angleThe angle (rad)
    +
    +
    +
    Returns
    sin angle
    +

    Variable Documentation

    @@ -315,6 +369,7 @@ Variables
    +

    mathematics constants

    diff --git a/doc/html/translate_8h_source.html b/doc/html/translate_8h_source.html index 0cd9441..11ebc09 100644 --- a/doc/html/translate_8h_source.html +++ b/doc/html/translate_8h_source.html @@ -91,25 +91,26 @@ $(document).ready(function(){initNavTree('translate_8h_source.html','');});
    translate.h
    -Go to the documentation of this file.
    1 #ifndef RENDER_TRANSLATE_H
    2 #define RENDER_TRANSLATE_H
    3 
    4 #include <stdint.h>
    5 #include <fxengine/render/parameters.h>
    6 
    7 /* FE_position:
    8  notion de point dans l'espace simple */
    11 {
    12  int32_t x,
    13  y,
    14  z;
    15 };
    16 
    19 {
    20  double x,
    21  y,
    22  z;
    23 };
    24 
    25 
    26 
    27 /* FE_point:
    28  notion de point dans l'espace destiné à etre utilisé dans l'affichage */
    31 {
    33  translated;
    34 };
    35 
    36 
    37 
    38 // applique la matrice de rotation et les deltas sur les coordonnées d'un point
    40 
    41 
    42 
    43 // change la matrice de rotation et les deltas pour le cycle à venir
    44 void render_set(const double dh, const double dv, const double roulis, const FE_integer_position * camera);
    45 
    46 
    47 
    48 // constantes mathématiques
    49 
    50 extern const double pi, pi2, pi_sur_2;
    51 
    52 
    53 // fonctions mathématiques
    54 
    55 double modulo_2pi(double a);
    56 
    57 double cos(double angle);
    58 
    59 double sin(const double angle);
    60 
    61 #endif
    double sin(const double angle)
    +Go to the documentation of this file.
    1 #ifndef RENDER_TRANSLATE_H
    2 #define RENDER_TRANSLATE_H
    3 
    4 #include <stdint.h>
    5 #include <render/parameters.h>
    6 
    12 {
    13  int32_t x,
    14  y,
    15  z;
    16 };
    18 
    24 {
    25  double x,
    26  y,
    27  z;
    28 };
    30 
    31 
    37 {
    39  translated;
    40 };
    42 
    43 
    44 // applique la matrice de rotation et les deltas sur les coordonnées d'un point
    45 
    52 
    53 
    54 
    63 void render_set(const double dh, const double dv, const double roulis, const FE_integer_position * camera);
    64 
    65 
    66 
    70 extern const double pi, pi2, pi_sur_2;
    71 
    72 
    81 double modulo_2pi(double a);
    82 
    90 double cos(double angle);
    91 
    99 double sin(const double angle);
    100 
    101 #endif
    double sin(const double angle)
    Homemade sinus implementation, which is faster than casio provided sinus function.
    const double pi2
    - +
    const double pi_sur_2
    - - -
    FE_integer_position translated
    Definition: translate.h:32
    - - -
    double modulo_2pi(double a)
    -
    void render_set(const double dh, const double dv, const double roulis, const FE_integer_position *camera)
    -
    void render_translate(FE_integer_point *point)
    +
    this struct is a point in 3d, which has coords save as double it is not recommended to use it for hig...
    Definition: translate.h:23
    + +
    FE_integer_position translated
    Definition: translate.h:38
    + + +
    double modulo_2pi(double a)
    Sets up an angle mesure between -pi and +pi.
    +
    void render_set(const double dh, const double dv, const double roulis, const FE_integer_position *camera)
    Sets up the translation matrices for a new rendering cycle.
    +
    void render_translate(FE_integer_point *point)
    This function rotates and applies perspective on an integer point.
    const double pi
    -
    FE_integer_position real
    Definition: translate.h:32
    - - - - -
    double cos(double angle)
    +
    FE_integer_position real
    Definition: translate.h:38
    +
    This is a point which is used for 3d translations and rendering integer mode is the best solution to ...
    Definition: translate.h:36
    +
    this struct is a point in 3d, which has coords save as uint32_t this is the recommended type for high...
    Definition: translate.h:11
    + + + +
    double cos(double angle)
    Homemade cosinus implementation, which is faster than casio provided cosinus function.
    diff --git a/doc/html/triangle_8h.html b/doc/html/triangle_8h.html new file mode 100644 index 0000000..579c93f --- /dev/null +++ b/doc/html/triangle_8h.html @@ -0,0 +1,117 @@ + + + + + + + +FxEngine: include/render/triangle.h File Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    FxEngine +  0.0.1 +
    +
    3d engine for fx9860G calculators
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    triangle.h File Reference
    +
    +
    +
    #include <translate.h>
    +
    +

    Go to the source code of this file.

    + + + + +

    +Data Structures

    struct  render_triangle
     
    +
    +
    + + + + diff --git a/doc/html/triangle_8h_source.html b/doc/html/triangle_8h_source.html new file mode 100644 index 0000000..966af42 --- /dev/null +++ b/doc/html/triangle_8h_source.html @@ -0,0 +1,112 @@ + + + + + + + +FxEngine: include/render/triangle.h Source File + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    FxEngine +  0.0.1 +
    +
    3d engine for fx9860G calculators
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    triangle.h
    +
    +
    +Go to the documentation of this file.
    1 #include <translate.h>
    2 
    4 {
    8 
    9 }
    + +
    FE_integer_position * s2
    Definition: triangle.h:6
    +
    FE_integer_position * s3
    Definition: triangle.h:7
    +
    FE_integer_position * s1
    Definition: triangle.h:5
    +
    this struct is a point in 3d, which has coords save as uint32_t this is the recommended type for high...
    Definition: translate.h:11
    +
    +
    + + + + diff --git a/doc/html/zbuffer_8h.html b/doc/html/zbuffer_8h.html index ee82904..623b8ea 100644 --- a/doc/html/zbuffer_8h.html +++ b/doc/html/zbuffer_8h.html @@ -93,7 +93,7 @@ $(document).ready(function(){initNavTree('zbuffer_8h.html','');});
    zbuffer.h File Reference
    -
    #include <fxengine/render/parameters.h>
    +
    #include <render/parameters.h>
    #include <stdint.h>
    #include <stdbool.h>
    diff --git a/doc/html/zbuffer_8h_source.html b/doc/html/zbuffer_8h_source.html index 6e15336..08b8667 100644 --- a/doc/html/zbuffer_8h_source.html +++ b/doc/html/zbuffer_8h_source.html @@ -91,8 +91,9 @@ $(document).ready(function(){initNavTree('zbuffer_8h_source.html','');});
    zbuffer.h
    -Go to the documentation of this file.
    1 #ifndef RENDER_ZBUFFER
    2 #define RENDER_ZBUFFER
    3 
    4 #include <fxengine/render/parameters.h>
    5 #include <stdint.h>
    6 
    12 
    13 #include <stdbool.h>
    19 bool render_zbuffer_set_px(uint32_t x, uint32_t y, uint32_t dist); // if you are allowed to draw the pixel on vram
    20 
    21 #endif
    void render_zbuffer_clear()
    +Go to the documentation of this file.
    1 #ifndef RENDER_ZBUFFER
    2 #define RENDER_ZBUFFER
    3 
    4 #include <render/parameters.h>
    5 #include <stdint.h>
    6 
    12 
    13 #include <stdbool.h>
    19 bool render_zbuffer_set_px(uint32_t x, uint32_t y, uint32_t dist); // if you are allowed to draw the pixel on vram
    20 
    21 #endif
    void render_zbuffer_clear()
    bool render_zbuffer_set_px(uint32_t x, uint32_t y, uint32_t dist)
    +
    diff --git a/doc/man/man3/FE_floating_position.3 b/doc/man/man3/FE_floating_position.3 new file mode 100644 index 0000000..9bfccc9 --- /dev/null +++ b/doc/man/man3/FE_floating_position.3 @@ -0,0 +1,47 @@ +.TH "FE_floating_position" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FE_floating_position \- this struct is a point in 3d, which has coords save as double it is not recommended to use it for high performances rendering, because of the sh3eb-elf architecture, which does not support natively floating calculation + +.SH SYNOPSIS +.br +.PP +.PP +\fC#include \fP +.SS "Data Fields" + +.in +1c +.ti -1c +.RI "double \fBx\fP" +.br +.ti -1c +.RI "double \fBy\fP" +.br +.ti -1c +.RI "double \fBz\fP" +.br +.in -1c +.SH "Detailed Description" +.PP +this struct is a point in 3d, which has coords save as double it is not recommended to use it for high performances rendering, because of the sh3eb-elf architecture, which does not support natively floating calculation +.PP +Definition at line 23 of file translate\&.h\&. +.SH "Field Documentation" +.PP +.SS "double x" + +.PP +Definition at line 25 of file translate\&.h\&. +.SS "double y" + +.PP +Definition at line 25 of file translate\&.h\&. +.SS "double z" + +.PP +Definition at line 25 of file translate\&.h\&. + +.SH "Author" +.PP +Generated automatically by Doxygen for FxEngine from the source code\&. diff --git a/doc/man/man3/FE_integer_point.3 b/doc/man/man3/FE_integer_point.3 new file mode 100644 index 0000000..497924b --- /dev/null +++ b/doc/man/man3/FE_integer_point.3 @@ -0,0 +1,40 @@ +.TH "FE_integer_point" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FE_integer_point \- This is a point which is used for 3d translations and rendering integer mode is the best solution to increase perfs, and that's why I didn't have implemented te floating_points yet\&. + +.SH SYNOPSIS +.br +.PP +.PP +\fC#include \fP +.SS "Data Fields" + +.in +1c +.ti -1c +.RI "\fBFE_integer_position\fP \fBreal\fP" +.br +.ti -1c +.RI "\fBFE_integer_position\fP \fBtranslated\fP" +.br +.in -1c +.SH "Detailed Description" +.PP +This is a point which is used for 3d translations and rendering integer mode is the best solution to increase perfs, and that's why I didn't have implemented te floating_points yet\&. +.PP +Definition at line 36 of file translate\&.h\&. +.SH "Field Documentation" +.PP +.SS "\fBFE_integer_position\fP real" + +.PP +Definition at line 38 of file translate\&.h\&. +.SS "\fBFE_integer_position\fP translated" + +.PP +Definition at line 38 of file translate\&.h\&. + +.SH "Author" +.PP +Generated automatically by Doxygen for FxEngine from the source code\&. diff --git a/doc/man/man3/FE_integer_position.3 b/doc/man/man3/FE_integer_position.3 new file mode 100644 index 0000000..f720335 --- /dev/null +++ b/doc/man/man3/FE_integer_position.3 @@ -0,0 +1,47 @@ +.TH "FE_integer_position" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FE_integer_position \- this struct is a point in 3d, which has coords save as uint32_t this is the recommended type for high performance rendering, because the sh3eb-elf architecture is 32 bits + +.SH SYNOPSIS +.br +.PP +.PP +\fC#include \fP +.SS "Data Fields" + +.in +1c +.ti -1c +.RI "int32_t \fBx\fP" +.br +.ti -1c +.RI "int32_t \fBy\fP" +.br +.ti -1c +.RI "int32_t \fBz\fP" +.br +.in -1c +.SH "Detailed Description" +.PP +this struct is a point in 3d, which has coords save as uint32_t this is the recommended type for high performance rendering, because the sh3eb-elf architecture is 32 bits +.PP +Definition at line 11 of file translate\&.h\&. +.SH "Field Documentation" +.PP +.SS "int32_t x" + +.PP +Definition at line 13 of file translate\&.h\&. +.SS "int32_t y" + +.PP +Definition at line 13 of file translate\&.h\&. +.SS "int32_t z" + +.PP +Definition at line 13 of file translate\&.h\&. + +.SH "Author" +.PP +Generated automatically by Doxygen for FxEngine from the source code\&. diff --git a/doc/man/man3/_home_milan_dev_fxengine_include_.3 b/doc/man/man3/_home_milan_dev_fxengine_include_.3 new file mode 100644 index 0000000..db963b0 --- /dev/null +++ b/doc/man/man3/_home_milan_dev_fxengine_include_.3 @@ -0,0 +1,18 @@ +.TH "include Directory Reference" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +include Directory Reference +.SH SYNOPSIS +.br +.PP +.SS "Directories" + +.in +1c +.ti -1c +.RI "directory \fBevent\fP" +.br +.ti -1c +.RI "directory \fBrender\fP" +.br +.in -1c diff --git a/doc/man/man3/_home_milan_dev_fxengine_include_event_.3 b/doc/man/man3/_home_milan_dev_fxengine_include_event_.3 new file mode 100644 index 0000000..db5ca70 --- /dev/null +++ b/doc/man/man3/_home_milan_dev_fxengine_include_event_.3 @@ -0,0 +1,15 @@ +.TH "include/event Directory Reference" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +include/event Directory Reference +.SH SYNOPSIS +.br +.PP +.SS "Files" + +.in +1c +.ti -1c +.RI "file \fBkeyboard\&.h\fP" +.br +.in -1c diff --git a/doc/man/man3/_home_milan_dev_fxengine_include_render_.3 b/doc/man/man3/_home_milan_dev_fxengine_include_render_.3 new file mode 100644 index 0000000..3950aa7 --- /dev/null +++ b/doc/man/man3/_home_milan_dev_fxengine_include_render_.3 @@ -0,0 +1,27 @@ +.TH "include/render Directory Reference" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +include/render Directory Reference +.SH SYNOPSIS +.br +.PP +.SS "Files" + +.in +1c +.ti -1c +.RI "file \fBbitmap\&.h\fP" +.br +.ti -1c +.RI "file \fBparameters\&.h\fP" +.br +.ti -1c +.RI "file \fBtranslate\&.h\fP" +.br +.ti -1c +.RI "file \fBtriangle\&.h\fP" +.br +.ti -1c +.RI "file \fBzbuffer\&.h\fP" +.br +.in -1c diff --git a/doc/man/man3/bitmap.h.3 b/doc/man/man3/bitmap.h.3 new file mode 100644 index 0000000..2987554 --- /dev/null +++ b/doc/man/man3/bitmap.h.3 @@ -0,0 +1,135 @@ +.TH "include/render/bitmap.h" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +include/render/bitmap.h +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.br +\fC#include \fP +.br + +.SS "Data Structures" + +.in +1c +.ti -1c +.RI "struct \fBbitmap_rich\fP" +.br +.RI "bitmap rich type transparency is in the layout " +.in -1c +.SS "Typedefs" + +.in +1c +.ti -1c +.RI "typedef struct \fBbitmap_rich\fP \fBbitmap_rich\fP" +.br +.in -1c +.SS "Functions" + +.in +1c +.ti -1c +.RI "\fBbitmap_rich\fP * \fBbitmap_new_rich\fP (uint32_t size_px_x, uint32_t size_px_y, uint32_t *color, bool copy_color, uint32_t *layout, bool copy_layout)" +.br +.RI "{ function_description } " +.ti -1c +.RI "void \fBbitmap_delete_rich\fP (\fBbitmap_rich\fP *bmp)" +.br +.RI "delete a rich bitmap created with \fBbitmap_new_rich()\fP " +.ti -1c +.RI "uint8_t \fBbitmap_get_pixel_r\fP (const \fBbitmap_rich\fP *bmp, uint32_t x, uint32_t y)" +.br +.RI "get the color of pixel from rich bitmap " +.ti -1c +.RI "void \fBbitmap_display_pixel_r\fP (const \fBbitmap_rich\fP *bmp, uint32_t bmp_x, uint32_t bmp_y, uint32_t x, uint32_t y)" +.br +.RI "display a specific rich bitmap pixel on the screen " +.in -1c +.SH "Typedef Documentation" +.PP +.SS "typedef struct \fBbitmap_rich\fP \fBbitmap_rich\fP" + +.PP +Definition at line 20 of file bitmap\&.h\&. +.SH "Function Documentation" +.PP +.SS "void bitmap_delete_rich (\fBbitmap_rich\fP * bmp)" + +.PP +delete a rich bitmap created with \fBbitmap_new_rich()\fP +.PP +\fBParameters:\fP +.RS 4 +\fIbmp\fP The bitmap to delete +.RE +.PP + +.SS "void bitmap_display_pixel_r (const \fBbitmap_rich\fP * bmp, uint32_t bmp_x, uint32_t bmp_y, uint32_t x, uint32_t y)" + +.PP +display a specific rich bitmap pixel on the screen +.PP +\fBParameters:\fP +.RS 4 +\fIbmp\fP The bitmap +.br +\fIbmp_x\fP The bitmap x coordinate (in pixels) +.br +\fIbmp_y\fP The bitmap y coordinate (in pixels) +.br +\fIx\fP screen : x coordinate +.br +\fIy\fP screen : y coordinate +.RE +.PP + +.SS "uint8_t bitmap_get_pixel_r (const \fBbitmap_rich\fP * bmp, uint32_t x, uint32_t y)\fC [inline]\fP" + +.PP +get the color of pixel from rich bitmap +.PP +\fBParameters:\fP +.RS 4 +\fIbmp\fP The bitmap +.br +\fIx\fP The bitmap x coordinate (in pixels) +.br +\fIy\fP The bitmap y coordinate (in pixels) +.RE +.PP +\fBReturns:\fP +.RS 4 +the color coded in a unsigned char : if (color >> 1) switch (color%2) { case 0: // WHITE break; case 1: // BLACK } else +.RE +.PP + +.SS "\fBbitmap_rich\fP* bitmap_new_rich (uint32_t size_px_x, uint32_t size_px_y, uint32_t * color, bool copy_color, uint32_t * layout, bool copy_layout)" + +.PP +{ function_description } +.PP +\fBParameters:\fP +.RS 4 +\fIsize_px_x\fP The width in px +.br +\fIsize_px_y\fP The height in px +.br +\fIcolor\fP color origin +.br +\fIcopy_color\fP if you want to make a copy, or only to make a link +.br +\fIlayout\fP layout origin -> can be set as 0 if it isn't needed +.br +\fIcopy_layout\fP if you want to make a copy, or to make a link +.RE +.PP +\fBReturns:\fP +.RS 4 +a rich bitmap, ready to use ! +.RE +.PP + +.SH "Author" +.PP +Generated automatically by Doxygen for FxEngine from the source code\&. diff --git a/doc/man/man3/bitmap_rich.3 b/doc/man/man3/bitmap_rich.3 new file mode 100644 index 0000000..45d3956 --- /dev/null +++ b/doc/man/man3/bitmap_rich.3 @@ -0,0 +1,84 @@ +.TH "bitmap_rich" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +bitmap_rich \- bitmap rich type transparency is in the layout + +.SH SYNOPSIS +.br +.PP +.PP +\fC#include \fP +.SS "Data Fields" + +.in +1c +.ti -1c +.RI "uint32_t \fBsize_px_x\fP" +.br +.ti -1c +.RI "uint32_t \fBsize_px_y\fP" +.br +.ti -1c +.RI "uint32_t \fBsize_o_y\fP" +.br +.ti -1c +.RI "uint32_t * \fBcolor\fP" +.br +.ti -1c +.RI "bool \fBcolor_dynamic\fP" +.br +.ti -1c +.RI "uint32_t * \fBlayout\fP" +.br +.ti -1c +.RI "bool \fBlayout\fP \fBdynamic\fP" +.br +.in -1c +.SH "Detailed Description" +.PP +bitmap rich type transparency is in the layout + + +.PP +\fBWarning:\fP +.RS 4 +Monochrome only ! +.RE +.PP + +.PP +Definition at line 9 of file bitmap\&.h\&. +.SH "Field Documentation" +.PP +.SS "uint32_t* color" + +.PP +Definition at line 15 of file bitmap\&.h\&. +.SS "bool color_dynamic" + +.PP +Definition at line 16 of file bitmap\&.h\&. +.SS "bool \fBlayout\fP dynamic" + +.PP +Definition at line 18 of file bitmap\&.h\&. +.SS "uint32_t* layout" + +.PP +Definition at line 17 of file bitmap\&.h\&. +.SS "uint32_t size_o_y" + +.PP +Definition at line 13 of file bitmap\&.h\&. +.SS "uint32_t size_px_x" + +.PP +Definition at line 11 of file bitmap\&.h\&. +.SS "uint32_t size_px_y" + +.PP +Definition at line 12 of file bitmap\&.h\&. + +.SH "Author" +.PP +Generated automatically by Doxygen for FxEngine from the source code\&. diff --git a/doc/man/man3/keyboard.h.3 b/doc/man/man3/keyboard.h.3 new file mode 100644 index 0000000..54462d6 --- /dev/null +++ b/doc/man/man3/keyboard.h.3 @@ -0,0 +1,47 @@ +.TH "include/event/keyboard.h" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +include/event/keyboard.h +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.br +\fC#include \fP +.br +\fC#include \fP +.br + +.SS "Typedefs" + +.in +1c +.ti -1c +.RI "typedef void(* \fBcallback\fP) (void)" +.br +.in -1c +.SS "Functions" + +.in +1c +.ti -1c +.RI "void \fBevent_keyboard_set_key\fP (uint32_t matrix_code, uint32_t ev_type, \fBcallback\fP function)" +.br +.ti -1c +.RI "void \fBevent_keyboard_reload\fP ()" +.br +.in -1c +.SH "Typedef Documentation" +.PP +.SS "typedef void(* callback) (void)" + +.PP +Definition at line 16 of file keyboard\&.h\&. +.SH "Function Documentation" +.PP +.SS "void event_keyboard_reload ()" + +.SS "void event_keyboard_set_key (uint32_t matrix_code, uint32_t ev_type, \fBcallback\fP function)" + +.SH "Author" +.PP +Generated automatically by Doxygen for FxEngine from the source code\&. diff --git a/doc/man/man3/parameters.h.3 b/doc/man/man3/parameters.h.3 new file mode 100644 index 0000000..9e92993 --- /dev/null +++ b/doc/man/man3/parameters.h.3 @@ -0,0 +1,59 @@ +.TH "include/render/parameters.h" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +include/render/parameters.h +.SH SYNOPSIS +.br +.PP +.SS "Macros" + +.in +1c +.ti -1c +.RI "#define \fBrender_width\fP 128" +.br +.ti -1c +.RI "#define \fBrender_height\fP 64" +.br +.ti -1c +.RI "#define \fBrender_x_mid\fP ((\fBrender_width\fP \- 1) / 2)" +.br +.ti -1c +.RI "#define \fBrender_y_mid\fP ((\fBrender_height\fP \- 1) / 2)" +.br +.ti -1c +.RI "#define \fBrender_max_dist\fP 3000" +.br +.ti -1c +.RI "#define \fBrender_min_dist\fP 1" +.br +.in -1c +.SH "Macro Definition Documentation" +.PP +.SS "#define render_height 64" + +.PP +Definition at line 8 of file parameters\&.h\&. +.SS "#define render_max_dist 3000" + +.PP +Definition at line 12 of file parameters\&.h\&. +.SS "#define render_min_dist 1" + +.PP +Definition at line 13 of file parameters\&.h\&. +.SS "#define render_width 128" + +.PP +Definition at line 7 of file parameters\&.h\&. +.SS "#define render_x_mid ((\fBrender_width\fP \- 1) / 2)" + +.PP +Definition at line 9 of file parameters\&.h\&. +.SS "#define render_y_mid ((\fBrender_height\fP \- 1) / 2)" + +.PP +Definition at line 10 of file parameters\&.h\&. +.SH "Author" +.PP +Generated automatically by Doxygen for FxEngine from the source code\&. diff --git a/doc/man/man3/render_triangle.3 b/doc/man/man3/render_triangle.3 new file mode 100644 index 0000000..0b27555 --- /dev/null +++ b/doc/man/man3/render_triangle.3 @@ -0,0 +1,44 @@ +.TH "render_triangle" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +render_triangle +.SH SYNOPSIS +.br +.PP +.PP +\fC#include \fP +.SS "Data Fields" + +.in +1c +.ti -1c +.RI "\fBFE_integer_position\fP * \fBs1\fP" +.br +.ti -1c +.RI "\fBFE_integer_position\fP * \fBs2\fP" +.br +.ti -1c +.RI "\fBFE_integer_position\fP * \fBs3\fP" +.br +.in -1c +.SH "Detailed Description" +.PP +Definition at line 3 of file triangle\&.h\&. +.SH "Field Documentation" +.PP +.SS "\fBFE_integer_position\fP* s1" + +.PP +Definition at line 5 of file triangle\&.h\&. +.SS "\fBFE_integer_position\fP* s2" + +.PP +Definition at line 6 of file triangle\&.h\&. +.SS "\fBFE_integer_position\fP* s3" + +.PP +Definition at line 7 of file triangle\&.h\&. + +.SH "Author" +.PP +Generated automatically by Doxygen for FxEngine from the source code\&. diff --git a/doc/man/man3/translate.h.3 b/doc/man/man3/translate.h.3 new file mode 100644 index 0000000..5384e1a --- /dev/null +++ b/doc/man/man3/translate.h.3 @@ -0,0 +1,182 @@ +.TH "include/render/translate.h" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +include/render/translate.h +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.br +\fC#include \fP +.br + +.SS "Data Structures" + +.in +1c +.ti -1c +.RI "struct \fBFE_integer_position\fP" +.br +.RI "this struct is a point in 3d, which has coords save as uint32_t this is the recommended type for high performance rendering, because the sh3eb-elf architecture is 32 bits " +.ti -1c +.RI "struct \fBFE_floating_position\fP" +.br +.RI "this struct is a point in 3d, which has coords save as double it is not recommended to use it for high performances rendering, because of the sh3eb-elf architecture, which does not support natively floating calculation " +.ti -1c +.RI "struct \fBFE_integer_point\fP" +.br +.RI "This is a point which is used for 3d translations and rendering integer mode is the best solution to increase perfs, and that's why I didn't have implemented te floating_points yet\&. " +.in -1c +.SS "Typedefs" + +.in +1c +.ti -1c +.RI "typedef struct \fBFE_integer_position\fP \fBFE_integer_position\fP" +.br +.ti -1c +.RI "typedef struct \fBFE_floating_position\fP \fBFE_floating_position\fP" +.br +.ti -1c +.RI "typedef struct \fBFE_integer_point\fP \fBFE_integer_point\fP" +.br +.in -1c +.SS "Functions" + +.in +1c +.ti -1c +.RI "void \fBrender_translate\fP (\fBFE_integer_point\fP *point)" +.br +.RI "This function rotates and applies perspective on an integer point\&. " +.ti -1c +.RI "void \fBrender_set\fP (const double dh, const double dv, const double roulis, const \fBFE_integer_position\fP *camera)" +.br +.RI "Sets up the translation matrices for a new rendering cycle\&. " +.ti -1c +.RI "double \fBmodulo_2pi\fP (double a)" +.br +.RI "Sets up an angle mesure between -pi and +pi\&. " +.ti -1c +.RI "double \fBcos\fP (double angle)" +.br +.RI "Homemade cosinus implementation, which is faster than casio provided cosinus function\&. " +.ti -1c +.RI "double \fBsin\fP (const double angle)" +.br +.RI "Homemade sinus implementation, which is faster than casio provided sinus function\&. " +.in -1c +.SS "Variables" + +.in +1c +.ti -1c +.RI "const double \fBpi\fP" +.br +.ti -1c +.RI "const double \fBpi2\fP" +.br +.ti -1c +.RI "const double \fBpi_sur_2\fP" +.br +.in -1c +.SH "Typedef Documentation" +.PP +.SS "typedef struct \fBFE_floating_position\fP \fBFE_floating_position\fP" + +.PP +Definition at line 29 of file translate\&.h\&. +.SS "typedef struct \fBFE_integer_point\fP \fBFE_integer_point\fP" + +.PP +Definition at line 41 of file translate\&.h\&. +.SS "typedef struct \fBFE_integer_position\fP \fBFE_integer_position\fP" + +.PP +Definition at line 17 of file translate\&.h\&. +.SH "Function Documentation" +.PP +.SS "double cos (double angle)" + +.PP +Homemade cosinus implementation, which is faster than casio provided cosinus function\&. +.PP +\fBParameters:\fP +.RS 4 +\fIangle\fP The angle (rad) +.RE +.PP +\fBReturns:\fP +.RS 4 +cos angle +.RE +.PP + +.SS "double modulo_2pi (double a)" + +.PP +Sets up an angle mesure between -pi and +pi\&. +.PP +\fBParameters:\fP +.RS 4 +\fIa\fP the angle (rad) +.RE +.PP +\fBReturns:\fP +.RS 4 +angle mesure which respect the following contraint : -pi <= angle <= pi +.RE +.PP + +.SS "void render_set (const double dh, const double dv, const double roulis, const \fBFE_integer_position\fP * camera)" + +.PP +Sets up the translation matrices for a new rendering cycle\&. +.PP +\fBParameters:\fP +.RS 4 +\fIdh\fP Camera's horizontal direction (rad) +.br +\fIdv\fP Camera's vertical direction (rad) +.br +\fIroulis\fP Optionnal rotation around the middle of the screen +.br +\fIcamera\fP The camera's coordinates, as an integer position +.RE +.PP + +.SS "void render_translate (\fBFE_integer_point\fP * point)" + +.PP +This function rotates and applies perspective on an integer point\&. +.PP +\fBParameters:\fP +.RS 4 +\fIpoint\fP The point which needs to be translated +.RE +.PP + +.SS "double sin (const double angle)" + +.PP +Homemade sinus implementation, which is faster than casio provided sinus function\&. +.PP +\fBParameters:\fP +.RS 4 +\fIangle\fP The angle (rad) +.RE +.PP +\fBReturns:\fP +.RS 4 +sin angle +.RE +.PP + +.SH "Variable Documentation" +.PP +.SS "const double pi" +mathematics constants +.SS "const double pi2" + +.SS "const double pi_sur_2" + +.SH "Author" +.PP +Generated automatically by Doxygen for FxEngine from the source code\&. diff --git a/doc/man/man3/triangle.h.3 b/doc/man/man3/triangle.h.3 new file mode 100644 index 0000000..9d2674d --- /dev/null +++ b/doc/man/man3/triangle.h.3 @@ -0,0 +1,21 @@ +.TH "include/render/triangle.h" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +include/render/triangle.h +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.br + +.SS "Data Structures" + +.in +1c +.ti -1c +.RI "struct \fBrender_triangle\fP" +.br +.in -1c +.SH "Author" +.PP +Generated automatically by Doxygen for FxEngine from the source code\&. diff --git a/doc/man/man3/zbuffer.h.3 b/doc/man/man3/zbuffer.h.3 new file mode 100644 index 0000000..296f010 --- /dev/null +++ b/doc/man/man3/zbuffer.h.3 @@ -0,0 +1,34 @@ +.TH "include/render/zbuffer.h" 3 "Thu Aug 29 2019" "Version 0.0.1" "FxEngine" \" -*- nroff -*- +.ad l +.nh +.SH NAME +include/render/zbuffer.h +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.br +\fC#include \fP +.br +\fC#include \fP +.br + +.SS "Functions" + +.in +1c +.ti -1c +.RI "void \fBrender_zbuffer_clear\fP ()" +.br +.ti -1c +.RI "bool \fBrender_zbuffer_set_px\fP (uint32_t x, uint32_t y, uint32_t dist)" +.br +.in -1c +.SH "Function Documentation" +.PP +.SS "void render_zbuffer_clear ()" +FE_zbuffer_clear effacer le z buffer pour un nouveau cycle de dessin TODO : ajouter effacement avec le DMA Controller pour les modèles ayant un processeur SH4-A +.SS "bool render_zbuffer_set_px (uint32_t x, uint32_t y, uint32_t dist)" +FE_zbuffer_set_dist change la distance d'un pixel du zbuffer retourne true si il faut dessiner le pixel retourne false si le pixel est déjà existant +.SH "Author" +.PP +Generated automatically by Doxygen for FxEngine from the source code\&. diff --git a/include/render/translate.h b/include/render/translate.h index f8815fa..afff677 100644 --- a/include/render/translate.h +++ b/include/render/translate.h @@ -4,58 +4,98 @@ #include #include -/* FE_position: - notion de point dans l'espace simple */ -typedef struct FE_integer_position FE_integer_position; +/** + * @brief this struct is a point in 3d, which has coords save as uint32_t + * this is the recommended type for high performance rendering, because the sh3eb-elf architecture is 32 bits + */ struct FE_integer_position { int32_t x, y, z; }; +typedef struct FE_integer_position FE_integer_position; -typedef struct FE_floating_position FE_floating_position; +/** + * @brief this struct is a point in 3d, which has coords save as double + * it is not recommended to use it for high performances rendering, because of the sh3eb-elf architecture, which does not support natively floating calculation + */ struct FE_floating_position { double x, y, z; }; +typedef struct FE_floating_position FE_floating_position; - -/* FE_point: - notion de point dans l'espace destiné à etre utilisé dans l'affichage */ -typedef struct FE_integer_point FE_integer_point; +/** + * @brief This is a point which is used for 3d translations and rendering + * integer mode is the best solution to increase perfs, and that's why I didn't have implemented te floating_points yet. + */ struct FE_integer_point { FE_integer_position real, translated; }; - +typedef struct FE_integer_point FE_integer_point; // applique la matrice de rotation et les deltas sur les coordonnées d'un point + +/** + * @brief This function rotates and applies perspective on an integer point + * + * @param point The point which needs to be translated + */ void render_translate(FE_integer_point * point); -// change la matrice de rotation et les deltas pour le cycle à venir +/** + * @brief Sets up the translation matrices for a new rendering cycle + * + * @param[in] dh Camera's horizontal direction (rad) + * @param[in] dv Camera's vertical direction (rad) + * @param[in] roulis Optionnal rotation around the middle of the screen + * @param[in] camera The camera's coordinates, as an integer position + */ void render_set(const double dh, const double dv, const double roulis, const FE_integer_position * camera); -// constantes mathématiques - +/** + * mathematics constants + */ extern const double pi, pi2, pi_sur_2; -// fonctions mathématiques - +/** + * @brief Sets up an angle mesure between -pi and +pi + * + * @param[in] a the angle (rad) + * + * @return angle mesure which respect the following contraint : + * -pi <= angle <= pi + */ double modulo_2pi(double a); +/** + * @brief Homemade cosinus implementation, which is faster than casio provided cosinus function + * + * @param[in] angle The angle (rad) + * + * @return cos angle + */ double cos(double angle); +/** + * @brief Homemade sinus implementation, which is faster than casio provided sinus function + * + * @param[in] angle The angle (rad) + * + * @return sin angle + */ double sin(const double angle); #endif