World Simulator: Difference between revisions

From SpaceElevatorWiki.com
Jump to navigationJump to search
No edit summary
No edit summary
Line 2: Line 2:


Preliminary tasks:
Preliminary tasks:
- Compile torcs as a library, with very high interface: ''TorcsLaunch()''.
* Compile torcs as a library, with very high interface: ''TorcsLaunch()''.
- Make a C# wrapper to it.
* Make a C# wrapper to it.
- Launch torcs from Mono.
* 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).
* 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).
* 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.
 
The whole ''src/interfaces'' headers have to be wrapped to C# to.


=== 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()