Seite 3 von 3
Verfasst: 17.03.2009 21:40
von Fluid Byte
DarkDragon hat geschrieben:Mir hats eher den Anschein, als hätten sich aberhunderte von Nachahmer gefunden, die einfach über viele PureBasic-Versionen hinweg alles nachplappern was je einer schlechtes über PureBasic ausgesagt hat. Aber die sind sich alle zu schade um zu prüfen ob sich was geändert hat.
Wenn das jetzt keine Anspielung war weiß ich auch nicht ...
Verfasst: 17.03.2009 22:00
von mpz
Hi Leute,
in DX9/10 Vertexe zu ändern ist nicht schwer. Da ich Blitz 3D sehr mag (und Ogre nicht), bin ich ja dabei eine eigene DX9 Engine zu schreiben mit ähnlichen Befehlen wie in Blitz3D. Ein kleines Demo zur Veränderung der Vertexe und Farben hatte ich schon mal fertig gemacht, ist 20 KByte gross. Jetzt müßte man nur noch rausbekommen wie man an die Meshs in Ogre "rankommt". 3DS Import funktioniert jetzt auch schon in Ogre (sieh Tipps und Tricks)......
Gruß Michael
http://rapidshare.de/files/46166116/Mes ... n.exe.html
Code: Alles auswählen
;////////////////////////////////////////////////////////////////
;//
;// Project Title: MP 3D Engine
;// File Title: Bewegende Objekte2.pb
;// Created On: 26.11.2008
;// Updated On:
;// Author: Michael Paulwitz
;// OS:Windows
;//
;// Teekanne wird verändert
;//
;////////////////////////////////////////////////////////////////
;-
;- ProgrammStart
MP_Graphics3D (640,480,0,3) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "Teekanne wird verändert") ; So soll es heissen
camera=MP_CreateCamera() ; Kamera erstellen
x.f=0 : y.f=0 : z.f = -4
MP_PositionCamera(camera,x.f,y.f,z.f) ; Kameraposition
light=MP_CreateLight(1,90,90,0) ; Es werde Licht
cube=MP_Createteapot() ; Nen Würfel
For n = 0 To MP_CountVertices(cube)-1
farbea.l = Random(255)
farbeb.l = Random(255)
farbec.l = Random(255)
MP_SetVertexColor (cube,n,RGB(farbea,farbeb,farbec))
Next
While Not MP_KeyDown(#PB_Key_Escape) And Not MP_WindowEvent() = #PB_Event_CloseWindow; Esc abfrage oder schliessen
For n = 0 To MP_CountVertices(cube)-1
x.f = MP_VertexX (cube,n)
y.f = MP_VertexY (cube,n)
z.f = MP_VertexZ (cube,n)
zufall.f = (Random (1000)-500)/100000
MP_SetVertexX (cube,n, x + zufall)
MP_SetVertexY (cube,n, y + zufall)
MP_SetVertexZ (cube,n, z + zufall)
Next
MP_DrawText (10,10,MP_ARGB(255,255,255,255),"Läuft mit "+Str(MP_FPS ())+" FPS") ; Textanzeige an Position x,y, Farbe RGB und Text$
MP_TurnEntity (cube,0.05,0.5,1) ; Würfel Drehen
MP_RenderWorld () ; Hier gehts los
MP_Flip () ;
Wend
End
Verfasst: 17.03.2009 23:49
von PMV
Appropo OGRE und CEGUI ... vielleicht kein Paradebeispiel, weil das Spiel
doch öfters abstürzt, aber mir ist grad aufgefallen das "Building &
Co." (dt. Titel: Bau AG) tatsächlich darauf aufbaut. Die Log-Dateien, die
auch bei PB-Programmen auftauchen, sind sehr verräterisch
Und das sollte in PB auch realisierbar sein.

(sofern einem da keine Bugs dazwischen kommen)
Auf demonews gibs auch nen kleines Video der Demo.
http://www.demonews.de/demos.php?demo=1496
http://www.bau-a-g.de/
PS: die fmod.dll (3.7.4) findet dort auch seine verwendung
MFG PMV
Verfasst: 18.03.2009 07:56
von DarkDragon
Fluid Byte hat geschrieben:DarkDragon hat geschrieben:Mir hats eher den Anschein, als hätten sich aberhunderte von Nachahmer gefunden, die einfach über viele PureBasic-Versionen hinweg alles nachplappern was je einer schlechtes über PureBasic ausgesagt hat. Aber die sind sich alle zu schade um zu prüfen ob sich was geändert hat.
Wenn das jetzt keine Anspielung war weiß ich auch nicht ...
Auf was soll es denn bitteschön eine Anspielung sein? Ihr wollt alles auf Anspielungen schieben damit ich schnell wieder abhau. Das ist doch eure Masche, immer und jederzeit. Langsam hab ich das Gefühl ihr wollt mich loswerden. Aaaaarggghhhh.
@mpz: Toll, mach schön weiter Werbung für dein Projekt, aber es stört langsam wie du das überall in jedem Topic machst, egal obs damit zu tun hat oder nicht. Ich seh jeden Tag ein neues Querfeldeinposting von dir.
Wenn du VBOs verwendest, dann kannst du nicht so einfach darauf zugreifen. Da muss man erst den ganzen Puffer von der Grafikkarte holen, verändern und wieder in die Grafikkarte schieben und das ist bei 30k Dreiecken einfach nicht möglich es in Echtzeit zu tun.
Verfasst: 18.03.2009 12:03
von mpz
Hi Dark Darkdragon,
Das meine Postings dich nerven, Okay, ich halte mich in Zukunft zurück!
Das es wie in diesem Fall Querfeldeinposting ist, finde ich aber nicht.
Was habe ich gesagt: Unter Direct X ist es einfach Mesh zu manipulieren. Ich glaube nicht das "man den Puffer der Grafikkarte" auslesen muss. Man benötigt nur einen Zeiger auf den Mesh, das bietet Ogre sicherlich an. Die Manipulation von 30K Files ist meiner Meinung nach in Realtime möglich. Tests haben bei mir erst bei 400K Files zu deutlichen Zeitverlusten geführt...
a) Direktzugriff auf Mesh, bei interesse Poste ich (ausnahmsweise, ich halte mich ja zurück) auch ein kleines Beispiel in Purebasic
b) Über Shader, Beispielcodes habe ich ja schon ein paar mal gepostet auch ohne Resonanz zu erhalten
Ich habe bisher auch einige Ergebnisse meiner Engine als freie Programmcodes oder fertige Tools bereitgestellt, was sicherlich einigen Ogre Programmieren hilft, wenn es nervt sorry, ich werde mich bessern...
Gruß Michael
Verfasst: 18.03.2009 12:29
von DarkDragon
Hallo,
mpz hat geschrieben:Hi Dark Darkdragon,
Das meine Postings dich nerven, Okay, ich halte mich in Zukunft zurück!
Das es wie in diesem Fall Querfeldeinposting ist, finde ich aber nicht.
Es geht hier um OGRE
mpz hat geschrieben:Was habe ich gesagt: Unter Direct X ist es einfach Mesh zu manipulieren. Ich glaube nicht das "man den Puffer der Grafikkarte" auslesen muss. Man benötigt nur einen Zeiger auf den Mesh, das bietet Ogre sicherlich an. Die Manipulation von 30K Files ist meiner Meinung nach in Realtime möglich. Tests haben bei mir erst bei 400K Files zu deutlichen Zeitverlusten geführt...
OGRE nutzt nunmal nicht nur DirectX, wenn du mal genau hinschaust. Für DirectX mag es vielleicht Methoden zum partiellen Bearbeiten eines Puffers geben, aber in OpenGL ist dies nicht der Fall. Hier wird immer der komplette Vertexpuffer neu übertragen. Und bei 30k Dreiecken wird das schon recht schnell sehr langsam. Es sei denn du setzt den Standard auf super Grafikkarten, was aber bei einem Minispiel nicht toll ist (Viele Leute spielens auf Businessclass-Systemen) und bei einem Maxispiel sollte man das eh Hardwareseitig erledigen oder ganz darauf verzichten.
mpz hat geschrieben:a) Direktzugriff auf Mesh, bei interesse Poste ich (ausnahmsweise, ich halte mich ja zurück) auch ein kleines Beispiel in Purebasic
b) Über Shader, Beispielcodes habe ich ja schon ein paar mal gepostet auch ohne Resonanz zu erhalten
Über Shader wird es heutzutage gemacht mit Vertexblending, aber davon redet hier ja keiner.
Mir geht nur die ständige Selbst-Werbung auf den Senkel bei dir, mehr nicht.
Verfasst: 18.03.2009 17:09
von Fluid Byte
@mpz:
Ich seh' das zwar nicht ganz so eng wie DD aber im Kern stimmt es. Es geht hier um OGRE, nicht DirectX. Trotzdem Danke für den Hinweis auf den Code.
PMV hat geschrieben:Appropo OGRE und CEGUI ... vielleicht kein Paradebeispiel, weil das Spiel doch öfters abstürzt, aber mir ist grad aufgefallen das "Building & Co." (dt. Titel: Bau AG) tatsächlich darauf aufbaut.
Das bedeutet aber leider gar nichts. Die benutzen OGRE, ja, nur nicht dieselbe Implementierung wie PB.
DarkDragon hat geschrieben:Auf was soll es denn bitteschön eine Anspielung sein? Ihr wollt alles auf Anspielungen schieben damit ich schnell wieder abhau. Das ist doch eure Masche, immer und jederzeit. Langsam hab ich das Gefühl ihr wollt mich loswerden. Aaaaarggghhhh
Och, nu' weine mal nicht. Keiner will doch loswerden Didi.
Wenn du mich damit nicht gemeint hast nehme ich alles zurück.
Verfasst: 18.03.2009 18:13
von Kiffi
DarkDragon hat geschrieben:Langsam hab ich das Gefühl ihr wollt mich loswerden. Aaaaarggghhhh.

Didi, bleib hier!
