World Simulator: Difference between revisions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
Preliminary tasks: | Preliminary tasks: | ||
* Compile torcs as a library, with very high interface: ''TorcsLaunch()''. | |||
* Make a C# wrapper to it. | |||
* Launch torcs from Mono. | |||
(see linux/main.cpp) | (see linux/main.cpp) | ||
Secondary tasks: | Secondary tasks: | ||
* Evaluate how much code must be ported to C# so that rendering and driving code can be run without needing to call C# code from C++ (which I believe is hard / or just bad). | |||
* Do it! (if it sounds good). | |||
== Torcs 3D Engine. == | == Torcs 3D Engine. == | ||
Line 16: | Line 16: | ||
The 3D engine implements an interface (defined in ''interfaces/graphic.h''), it is given the high-level information about the track and cars and have to build and display its own geometry from this. | The 3D engine implements an interface (defined in ''interfaces/graphic.h''), it is given the high-level information about the track and cars and have to build and display its own geometry from this. | ||
For now making a C# wrapper for the renderer would imply calling C# from C, is that possible? | For now making a C# wrapper for the renderer would imply calling C# from C, is that possible? If possible, the whole ''src/interfaces'' headers have to be wrapped to C# then. | ||
=== Notes by Jeko for Jeko === | === Notes by Jeko for Jeko === |
Revision as of 13:43, 12 June 2008
Torcs in C#
Preliminary tasks:
- Compile torcs as a library, with very high interface: TorcsLaunch().
- Make a C# wrapper to it.
- Launch torcs from Mono.
(see linux/main.cpp)
Secondary tasks:
- Evaluate how much code must be ported to C# so that rendering and driving code can be run without needing to call C# code from C++ (which I believe is hard / or just bad).
- Do it! (if it sounds good).
Torcs 3D Engine.
The 3D engine implements an interface (defined in interfaces/graphic.h), it is given the high-level information about the track and cars and have to build and display its own geometry from this.
For now making a C# wrapper for the renderer would imply calling C# from C, is that possible? If possible, the whole src/interfaces headers have to be wrapped to C# then.
Notes by Jeko for Jeko
It's almost pure OpenGL, so very easy to tweak.
Main work is done in src/modules/graphic/ssggraph/grmain.cpp
It builds a list of "screens" (main screen, mirrors, etc)
Each screen set up the opengl parameters he like and render track, then cars, etc..
Rendering of the car is done here: src/modules/graphic/ssggraph/grcar.cpp, grDrawCar()