[Tutorial] Introduction with 3D and Purebasic

Everything else that doesn't fall into one of the other PB categories.
User avatar
[blendman]
Enthusiast
Enthusiast
Posts: 297
Joined: Thu Apr 07, 2011 1:14 pm
Location: 3 arks
Contact:

Re: [Tutorial] Introduction with 3D and Purebasic

Post by [blendman] »

BasicallyPure wrote:The code examples in the English translation got scrambled.
In fact, the example is the same as the ThirdPersonn.pb from the example 3D (installed with Purebasic 4.60/6.61beta..)

You could find another version here :
http://www.purebasic.fr/english/viewtop ... 15&t=48108
Parts of the code somehow got reversed.
There were many more problems in the 'English' version of the code, too many to mention.
it's a google translation. It's not good, but, it's better than nothing.
I'm not a good translator, it's why I have ask if someone would like to translate this tutorial in English ;).

I did try the 'Third Person' code from the French tutorial and it compiled and ran without errors.
Unfortunately the comments are not English.
I have put the comments in english, in the french Version of tutorial.
So you can have the complete code (in the french version) with comments in English now.
What about adding a (short) introduction into 3D programming, means some basics and a start with using several commands/libraries of the Ogre command set included in PB, in this chapter
Hi Andre :).
I think it's a good idea :).


The basics commands could be :

1) Introduction of 3D with Purebasic
- introduction of 3D with Purebasic
- presentation of Ogre
- how to use it
- how can we do a game/demo with Pb (like in my tutorial, you can use it if you want ;))

2) initialisation
- init the engine : InitEngine3D() / AntialiasingMode(Mode)
- Add3DArchive("MyData.zip", #PB_3DArchive_Zip) / Add3DArchive("Data\", #PB_3DArchive_FileSystem)
- Parse3DScripts() : to load the scripts (material)

a) The mesh / entity / material
- LoadTexture() / CreateTexture()
- parameters of the material (DisableMaterialLighting, MaterialBlendingMode, ScrollMaterial...)
- advanced : GetScriptMaterial()
- LoadMesh() / CreateMesh
- CreateEntity()
- transform Entity : locate, scale, rotate..
- advanced : SetEntityMaterial()

Note for the material : a little chpater for the material (txt) should be usefull.

b) the lights
- Addlight()
- type of light : point, directionnal, spot
- light diffuse color, specular color, shadow

c) the camera
- CreateCamera()
- transformation of the camera : position (locate), rotation, fov, range...
- CameraLookAt()

d) The World
- ambient color
- Fog()
- skybox( ) / skydom()
- world mode : debug, wireframe
- world Shadow : none, modulative, additive, texture

e) 2 usefull fonction to create easily a demo
- createWater()
- createTerrain()

f) Billboards

g) Particle

3) The GUI
- Cegui fonctions
- Gadget3D

4) the advanced fonctions
a) node
b) Joint
c) collision / physic
d) static geometry
e) sound3D

5) Post Filters
- compositors

What do you think about that ?
User avatar
Andre
PureBasic Team
PureBasic Team
Posts: 2137
Joined: Fri Apr 25, 2003 6:14 pm
Location: Germany (Saxony, Deutscheinsiedel)
Contact:

Re: [Tutorial] Introduction with 3D and Purebasic

Post by Andre »

[blendman] wrote: What do you think about that ?
It looks like covering all/most of the 3D stuff implemented in PB, if not even more... :o

So it seems, that there would be a lot to write: descriptions and example code, I think. I can't decide if it is already too much for an "introduction". Without any 3D knowledge it looks like it would be covering so much step by step, that even a totally beginner (like myself, who can't contribute something because of this reason) could learn using the 3D commands in PB this way...

I'm sure this would be a larger project, needing a lot of time for sure!? So we should give it the needed time - maybe creating it on the PB forum (where other people can contribute if they like) would be a good idea....
If it's ok to include in the PB manual (later, not for PB4.61 anymore) for all contributors, then that would be fine. :-)
Bye,
...André
(PureBasicTeam::Docs & Support - PureArea.net | Order:: PureBasic | PureVisionXP)
Post Reply