Aktuelle Zeit: 12.12.2018 19:42

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 44 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5  Nächste
Autor Nachricht
 Betreff des Beitrags: PB 4.3 und B3D Engine ( Für Anfänger und interesierte )
BeitragVerfasst: 09.01.2009 10:08 
Offline

Registriert: 08.09.2004 20:18
Wohnort: Zürich
Hallo........

mein erster Versuch dieses Thema etwas genauer zu durchleuchten fiel
leider wegen Lizensrechtlichen ungereimtheiten ins wasser. Aber ich gebe
ja nicht so schnell auf. Neues Konzept .... neuer Spass.

Copyrigt vermerk für das nachvolgende Tutorial

alle Rechte verbleiben beim Autor , T.Temucin alias TFT .
Die kommerzielle nutzung des FrameWorks ist nur mit ausdrücklicher
genehmigung des Autors erlaubt.
Die Links dürfen nicht Kopiert oder auf einer anderen Webseiten
plaziert oder als Verweis angegeben werden.
Die im Tutorial benutzten und zum Download bereitgestellten
Objecte und Texturen dürfen nur in zusammenhang mit diesem
Tutorial verwendet werden.

Haftungs ausschluss

Für schäden die durch das verwenden des FrameWorks direkt oder
indirekt entstehen übernimmt der Autor keine Haftung.

---------------------------------------------------------

In den letzten 3 Tagen habe ich mich damit befast die etwas veraltete
B3D Engine die es als SDK zu kaufen gibt genaue unter die lupe zu
nehmen.

Ich kenne sie recht gut. Da ich ein begeisterter B3D User bin. Und wie ich
gehofft habe ist es recht einfach die Engine in eigenen Projecte zu
integrieren. Der Grund für diesen Entschluss liegt für mich ganz klar
darin begründet. Das ich lieber eine Funktionierende und Stabiele Engine
verwende. Als ständig diese halbgaaren Free geschichten.

Also Back to the rutz.

Diese Tutorial richtet sich an alle intersierten Coder. Die Mal eben schnell
... oder weils einfach schnell geht. Ein Game in 3D Coden möchten.
Ohne 80% ihrer freizeit damit zu verbringen das Rad merfach neu zu
erfinden.

Eine kurze erleuterung zum Aufbau des Tutorials. Ich bin kein Schreiber.
Ausserdem habe ich (C) auf meine Rechtschreibfehler. Daher habe ich
mir eine Form des Tutorial ausgedacht. Die auch für eigenen Experimente
gut zu gebrauchen ist.

Ich habe ein FrameWork vorbereitet, das all die Funktionen und
Inizialisierungen vornimmt. Die nicht Project abhängig sind. Das ganze
besteht aus einem Satz Includes die entsprechend ihren Namen als
Code Träger dienen. Diese sind so vorbereitet, das nur die Includes
bearbeitet werden. Bei jedem neuen Capter wird das FrameWork neu
verwendet.

Code:
;
;(C) by TFT 2009 / PB 4.30 mit Blitz 3D SDK 1.02
;
; FrameWork B3D 003, 10.1.09
;

EnableExplicit
;

If InitSprite()=0
  MessageRequester("Error", "Cant init DirectX Sprite",0) : End
EndIf

IncludeFile "..\..\Blitz3DSDK_V102\PureBasic\blitz3dsdk.pbi"
IncludeFile "SetScreenMode.pbi"

IncludeFile "InitProjectDaten.Pbi"
IncludeFile "InitProjectProceduren.Pbi"

Procedure FPS()
  Protected Tickdammy=GetTickCount_()
  Static FPSTimer1,FPSTimer2,FPSCount
  If FPS<>0
    Tickdammy=GetTickCount_()
    If FPSTimer1<Tickdammy
      FPSTimer1=Tickdammy+1000
      FPSCount=FPSTimer2
      FPSTimer2=0
    Else
      FPSTimer2 + 1
    EndIf
    bbtext(10,10,"FPS = "+Str(FPSCount))
  EndIf
EndProcedure

bbBeginBlitz3D ()

If FM=1
  bbGraphics3D (ScreenX, ScreenY, 0, 2)
Else
  bbGraphics3D (ScreenX, ScreenY, 0, 1)
EndIf

Global cam = bbCreateCamera ()

IncludeFile "InitB3DDaten.pbi"
IncludeFile "InitCodeView.pbi"

Repeat
   
    IncludeFile "Project3DLoop.pbi"
   
    bbRenderWorld ()
   
    IncludeFile "LookCode.Pbi"
    IncludeFile "Project2DLoop.pbi"
   
    FPS()
    bbFlip (SFR)
    Delay(TFS)          ; Dem System etwas Zeit einräumen
   
Until bbKeyHit (#KEY_ESCAPE)

IncludeFile "ProjectEnd.pbi"

bbEndBlitz3D ()

End


Die einzelnen Includs sind im FrameWork selber noch leer. Aber der Code
läst sich Compiliren und leuft.

Diese Includes sind bereits Erarbeitet.

IncludeFile "..\..\Blitz3DSDK_V102\PureBasic\blitz3dsdk.pbi"
IncludeFile "SetScreenMode.pbi"

Ersteres enthält das BlitzSDK, und das nachfogende ist ein Screen
Requester mir einigen zum Testen gebreuchlichen Optionen.

Zum SDK möchte ich noch anmerken. Ich kann es aus Licenstechnischen
gründen weder teilweise noch ganz mitgeben. Entweder ihr schaut euch
die Laufenden Exe an um das ergebniss zu sehen oder ihr besorgt euch
die SDK auf Legalem weg. Die Exes gibts immer zum Gasamten Capter Packet dazu.

Bild

Ich werde hir die Optionen nicht weiter kommentieren. Jedes Gatget hat
ein ToolTip das sich selbst erklärt.

Das Start FrameWork für alle nachfolgenden Capter gibts hir.

http://www.optima-code.ch/PB/capter-001.zip

Als besonderheit kann man mit der Taste F1 den Code am Bildschirm
anzeigen lassen. Mit dem MouseRad kann der Text hoch und runter
gescrollt werden. Es gibt Roten Text und Grüne Ramen. Der Rote Text
zeigt stellen an denen B3D komanndos verwendent werden. Der Grüne
Ramen kann angeklickt werden. Das bewirkt dann die anzeige des


Entsprechenden Includes. Mit der F2 Taste wird wider das FrameWork
angezeigt, und nochmaliges drücken von F1 löscht die Code Anzeige.
In den einzelnen Captern werden nur dies Includs auswälbar sein
die auch Code enthalten.

Im Capter-001 befindet sich auch die B3D.DLL, Diese sollte ins
Windows/System32 verzeichniss kopiert werden.

Feedback ist erwünscht. Besonders muss ich wissen ob das FrameWork
in seiner jetzigen Form überall funktioniert.

Fiel Spass TFT

_________________
TFT

Code faster than fast.
W10 ,i5 4*3.4 MHz,16 GB Ram,GTX Titan, 3 Monitore UHD
ARDUINO Freak :-)


Zuletzt geändert von tft am 23.01.2009 09:30, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 09.01.2009 18:51 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:59
Warum machst Du das ganze nicht unter:
Blitz3D SDK Forums/Blitz3D SDK Programming

http://www.blitzmax.com/Community/topics.php?forum=120

_________________
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 09.01.2009 18:56 
Offline
Benutzeravatar

Registriert: 30.01.2006 17:47
Wohnort: Zwischen dem Sessel und dem Computer
Weil es für PB gedacht ist, und wir, als PB Programmierer sind die Hauptzielgruppe.

_________________
Hab jetzt PB 4.02
Muhahaha!!!!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 09.01.2009 19:01 
Offline

Registriert: 08.09.2004 20:18
Wohnort: Zürich
Hallo ...

der Link functioniert nicht.

Und Ja ... es ist an PB User gerichtet.

Gruss TFT

_________________
TFT

Code faster than fast.
W10 ,i5 4*3.4 MHz,16 GB Ram,GTX Titan, 3 Monitore UHD
ARDUINO Freak :-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 09.01.2009 19:04 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:59
Milchshake hat geschrieben:
Weil es für PB gedacht ist, und wir, als PB Programmierer sind die Hauptzielgruppe.

Nicht unbedingt logisch. Es geht doch wohl eher um das Programmieren mit dem BlitzBasic SDK. Aber mir ist es egal...das SDK ist schon seit ca 1Jahr nicht mehr upgedatet...scheint also doch eher eine Sackgasse für 'neue' Projekte zu werden

_________________
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 09.01.2009 19:14 
Offline

Registriert: 08.09.2004 20:18
Wohnort: Zürich
Hallo.....

Nachdem nun das Arbeits Grundgerüst steht. Werden wir ganz klein anfangen.
Wer sich nicht gedulden kann........ darf natürlich die Capter bereits vorher
einsehen die bis jetzt bereits fertig sind.

http://www.optima-code.ch/PB/capter-002.zip
http://www.optima-code.ch/PB/capter-003.zip
http://www.optima-code.ch/PB/capter-004.zip
http://www.optima-code.ch/PB/capter-005.zip

Project2DLoop.pbi

Code:
;
; Capter 002
;

; Die ersten versuche mit der B3D Engine gehen erstaunlich unkopliziert vonstatten.
; Aber das steht ganz im Zeichen von der Philosophy von BlitzBasic. Einfach ... und  sicher.
;
; Dieser teil ..... wird nach dem Rendering ausgeführt. Hir kommen alle sachen hin, die ausschlieslich
; Mit der Darstellung von 2D sachen wie Sprites , Text etc in verbindung stehen.
;
; Es wird etwas ungewohnt sein, ohne den completten Code zu arbeiten. Aber ihr werdet sehen. Das e sich
; einfach machen läst. Also traut euch.


  i + 1
  If i>ScreenY-10
    i=0
  EndIf
   
  bbtext(ScreenX/2,i,"Und der Text bewegt sich doch",1,1)
 
 
; Die Variablen ScreenX und ScreenY wurde ja bereits beim Screen Select festgelegt. Daher können wir
; sie verwenden. Die Beiden Letzten Parameter beim Text befehl Zentrieren die Ausgabe auf X und Y.
 


Zwei bis drei Zeilen und schon bewegt sich Text auf dem 3D Screen. Das
ist mir so einfach von der Hand gegangen...... 4 Minuten und das
ergebniss ist sofort da. Wenn jemand weis wie man das mit Ogre für
PB so einfach hinbekommt. Der möge doch bitte den Code hir Posten. Ich
meine das nicht sarkastisch oder abwertend.

Gruss TFT

_________________
TFT

Code faster than fast.
W10 ,i5 4*3.4 MHz,16 GB Ram,GTX Titan, 3 Monitore UHD
ARDUINO Freak :-)


Zuletzt geändert von tft am 10.01.2009 13:50, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 09.01.2009 19:25 
Offline

Registriert: 08.09.2004 20:18
Wohnort: Zürich
Hallo ...

@Dr. Shrek
das würde ich nicht so sagen. Die Engine braucht nicht geuptatet werden da
sie super gut und Stabil leuft. Das einzige was ich mir persönlich wünschen
würde ist DDS support für die Texturen. Aber verfolge mal dieses Tutorial.

Wenn ich so bei Capter 30 angekommen bin. Wirst du bestimmt erstaunt
sein. Was so alles möglich ist. Denn es liegt nicht an der Engine ... ob das
ergebnis gut oder schlecht wird. Sondern am Coder .

Gruss TFT

_________________
TFT

Code faster than fast.
W10 ,i5 4*3.4 MHz,16 GB Ram,GTX Titan, 3 Monitore UHD
ARDUINO Freak :-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 09.01.2009 19:30 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:59
tft hat geschrieben:
Denn es liegt nicht an der Engine ... ob das
ergebnis gut oder schlecht wird. Sondern am Coder .
Gruss TFT

Ok...dann las doch gleich die Engine weg und nimm die native 3D Engine "Ogre" von PureBasic.

_________________
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 09.01.2009 19:32 
Offline
Benutzeravatar

Registriert: 15.03.2007 21:47
Zitat:
@Dr. Shrek
das würde ich nicht so sagen. Die Engine braucht nicht geuptatet werden da
sie super gut und Stabil leuft. Das einzige was ich mir persönlich wünschen
würde ist DDS support für die Texturen. Aber verfolge mal dieses Tutorial.

Hä? DDS wird schon längst von der B3D-Engine unterstützt.

_________________
Kostenfreier Setup Creator | RCon Tool für DayZ

Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 09.01.2009 19:32 
Offline

Registriert: 08.09.2004 20:18
Wohnort: Zürich
Hallo...

Überhaupt sind 2D operationen der klassischen Art mit B3D ein Kinderspiel.
Machen wir doch einfach mal einen Rahmen um den Text.

Project2DLoop.pbi

Code:
;
; Capter 003
;

; Es gibt natürlich auch Zeichen operationen wie Kreis und Rechteck.
;

  i + 1
  If i>ScreenY-10
    i=0
  EndIf
   
  bbrect(10,i-8,ScreenX-20,16,0)
 
  bbtext(ScreenX/2,i,"Und der Text bewegt sich doch",1,1)

; Der letzte Parameter bei bbrect() bestimmt, ob es eine ausgefültes oder ein Rahmen Rechteck wird.
; Das sind natürlich absolute Basics. Zeigt aber wie einfach das ganze funktioniert.


Sehr simple und einfach ......

http://www.optima-code.ch/PB/capter-003.zip

_________________
TFT

Code faster than fast.
W10 ,i5 4*3.4 MHz,16 GB Ram,GTX Titan, 3 Monitore UHD
ARDUINO Freak :-)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 44 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye