simpleIrrlicht - Irrlicht in "Einfach"

Übersicht Kommentare Worklogs

Gehe zu Seite Zurück  1, 2, 3 ... , 10, 11, 12  Weiter


Farbfinsternis

Link zu diesem BeitragSa, Jun 19, 2010 13:19
1. mpmxyz hat recht, eine TList zu iterieren ist wesentlich langsamer als eine Map zu verwenden.

2. Es werden niemals alle Objekte iteriert, ich habe mich da etwas falsch ausgedrückt:

Wenn man sich von Ogre den Zeiger auf bspw. den SceneManager holt würde bo3d stets ein neues Objekt "SceneManager" zurück geben obwohl der Zeiger vielleicht vorher schon allokiert wurde. Um das zu verhindern iteriere ich das Objekt "SceneManager" und gebe nur das bestehende Objekt zurück wenn der Zeiger schon da ist. Der SceneManager ist nur ein Beispiel, es gibt noch zahlreiche andere Objekte die nur einmal zur Laufzeit existieren sollten. Ich könnte das auch über ein Singleton in BlitzMax machen, das würde aber nicht für alle Objekte funktionieren. Beispiel: Es kann mehr als nur ein Material geben, es kann aber sein dass sich jemand mehrmals das Material eines Entity holt. Damit BlitzMax nun nicht jedesmal ein neues Material-Objekt erzeugt schaue ich vorher in meine Karte ob das Material schonmal geholt habe und gebe ggf. dann dieses zurück.
Farbfinsternis.tv

juse4pro

Link zu diesem BeitragDo, Jun 24, 2010 18:48
--> example starten --> fenster geht auf --> schwarzer bildschrim (also fenster ist bleibt schwarz) --> mouselock in der mitte
Portfolio |LinkedIn |XING

Xaymar

ehemals "Cgamer"

Link zu diesem BeitragDo, Jun 24, 2010 23:17
Wie machst du das mit dem DXContext? Löscht du den DX7 Context von Blitz oder lässt du einfach nur BlitzOgre3D drüberrendern?
Warbseite

Farbfinsternis

Link zu diesem BeitragFr, Jun 25, 2010 08:52
Ich lasse Ogre einfach drüber rendern.
Farbfinsternis.tv

Xaymar

ehemals "Cgamer"

Link zu diesem BeitragFr, Jun 25, 2010 21:14
Für das aktuelle Problem solltest du dich mal mit DirectX7 hooks auseinandersetzen. Mit denen kann man auch das Rendern was B3D standard macht entfernen.
Warbseite

Farbfinsternis

Link zu diesem BeitragSa, Jun 26, 2010 21:14
Kannst Du das näher erläutern? Ich war der Meinung dass der B3D GC mir ordentlich in die Schuhe kackt wenn ich versuche ihm etwas unter dem Hintern weg zu reissen.
Farbfinsternis.tv

Xaymar

ehemals "Cgamer"

Link zu diesem BeitragSo, Jun 27, 2010 16:30
Damit meinte ich, dass du über DirectX Hooks das Rendern abschalten kannst. Das merkt Blitz absolut gar nicht, FastExt nutzt das nämlich auch.
Warbseite

Farbfinsternis

Link zu diesem BeitragSo, Jun 27, 2010 18:38
Ich hatte versucht den Context via Release() zu entfernen, was natürlich komplett in die Hose gegangen ist. Mal schauen was ich über DX7 Hooks heraus bekommen kann.
Farbfinsternis.tv

Farbfinsternis

Link zu diesem BeitragMi, Jun 30, 2010 17:38
OK, es ist doch der RenderHook. In 800x600 geht alles bei mir, jede andere Auflösung versagt. Allerdings hat die Blitz3D nicht Prio-Zero bei mir, weshalb ich derzeit wieder verstärkt die BMax Version ausbaue.
Farbfinsternis.tv

juse4pro

Link zu diesem BeitragMo, Jul 19, 2010 22:22
Can't find Interface...
Ordner: BlitzMax/mod/bo3d.mod/sedm.mod/der Rest eben
(Also so existiert es bei mir)

Rebuilded hab ich auch schon... Woran liegts? ^^
Portfolio |LinkedIn |XING

Farbfinsternis

Link zu diesem BeitragMo, Jul 19, 2010 23:02
Zunächst sollte es mod/sedm.mod/bo3d.mod heißen Wink Desweiteren fehlt mir die Info woher Du es bezogen hast, eine vorkompilierte Version oder aus dem SVN?

Derzeit baue ich an der Linux Version die einige Verbesserungen in die Windows Version zurück fliessen lassen wird, aber ich befand diesen Tatbestand für zuwenig um einen neuen Log Eintrag zu basteln.
Farbfinsternis.tv

juse4pro

Link zu diesem BeitragDi, Jul 20, 2010 13:27
--> Ok das mit dem Ordner wird die Fehlerquelle sein...
Ich benutze TortoiseSVN, und hole mir das Modul per SVN
Portfolio |LinkedIn |XING

juse4pro

Link zu diesem BeitragSo, Aug 01, 2010 21:28
Wird es eine Möglichkeite geben, den Debug auszuschalten?
Portfolio |LinkedIn |XING

Farbfinsternis

Link zu diesem BeitragMo, Aug 02, 2010 09:00
Ja
Farbfinsternis.tv

juse4pro

Link zu diesem BeitragMi, Aug 11, 2010 23:44
Wird es eine Möglichkeit geben, einzustellen, dass bestimmte Texturen, welche einen bestimmten Dateinamen haben, zu zwingen auch die Back-Face's zu rendern?
Das wär klasse. Konnte B3D nicht...
Portfolio |LinkedIn |XING

Farbfinsternis

Link zu diesem BeitragSa, Aug 14, 2010 11:14
Das geht jetzt schon über die Materialien. Lese einfach mal den entsprechenden Abschnitt in der Ogre3D Dokumentation.
Farbfinsternis.tv

Xeres

Moderator

Link zu diesem BeitragMo, Aug 16, 2010 22:13
Hört sich ja nicht nach Zuckerschlecken an - nur Mut und viel Erfolg.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

juse4pro

Link zu diesem BeitragDi, Aug 24, 2010 18:58
Ich versuche grade kläglich irendwas hinzubekommen.. Und ich scheitere alle 5 Minuten erneut an irgendwelchen Kleinigkeiten. Ich bräuchte da mal Hilfe. Meine Fragen:

1. Wie heißt das Modull, welches mir die BlitzMax typische API bietet (mein prozeduales Gedöns)? SEDN.Blitz3DOgre ist's anscheinend nicht (Das, was so aussieht wie Blitz3D ist zwar schön und gut aber für meinen Geschmack sehr Performance-lastig [Anstatt auf die Objekte zuzugreifen sind dafür ja Integer-Handles da, das fand ich schon bei Blitz3D doof, aber es ist Geschmack's-Sache]). Ich habe schon hier und da von einer OOP-Variante gelesen, aber ich finde das Modull nicht und Beispiel dementsprechend auch nicht. Wink

2. Wie heißt die AntiAlias-Funktion in der Blitz3D API, falls es die OOP-Variante nicht gibt.

Hoffe du / ihr könnt mir helfen.
Portfolio |LinkedIn |XING

Farbfinsternis

Link zu diesem BeitragDi, Aug 24, 2010 19:39
Das LowLevel API befindet sich in "bo3d.mod", dort enthalten ist auch die Dokumentation und das Example. FSAA wird in Ogre3D nicht zur Laufzeit aktiviert, sondern in der Config (ogre.cfg) eingetragen. Du wirst dort den Eintrag "FSAA=0" finden. Anstatt der 0 musst Du die Stärke des FSAA eintragen (1, 2, 4, 8, 16 etc.)

HandleToObject() und HandFromObject() ist nicht so schlecht wie ihr Ruf, es ist sogar noch schneller als die Inkonsitenz der Ogre3D Engine in einem eigenen prozedualen Interface, welches Objekte zurückgibt, zu überwinden. Das Problem ist dass Ogre3D gewachsen ist und einige Dinge nicht mehr so zusammen passen.

Beispiele:
- Fast alle Objekte sind "Movable Types", die Ausnahmen die es gibt verhindert ein direktes casten.
- alle Objekte müssen an eine Node gehangen werden welche widerum an der Parent-Scenenode hängt. Außer der Camera. Das ändert nicht nur den Workflow sondern auch die Parameter von Transformations-Funktionen/Methoden.

Diese Ungereimtheiten zu verbergen und nur Handles zurück zu geben erschien mir am sinnvollsten. Aber um Dich zu beruhigen: Ich schrieb bereits dass die Linux Version einige Verbesserungen mitbringt die in die Windows-Version zurückfließen werden. Unter anderem ist es die Tatsache dass der Blitz3D-API-Wrapper intern objektorientiert aufgebaut ist und die globalen Funktionen nur Methoden aufrufen. Wenn es Dir also nicht gefällt mit Handles zu arbeiten, kannst Du Deine Kamera auch selbst erstellen (myCam:TCamera = New TCamera) und dann auf die Methoden des Objekts zugreifen: myCam.PositionCamera(x:Float, y:Float, z:Float) ... was nicht funktioniert ist das mischen von prozedualer und objektorientierter Programmierung.
Farbfinsternis.tv

juse4pro

Link zu diesem BeitragDi, Aug 24, 2010 21:55
Okay, das mit den SceneManager und NodeManager hatte mich schon in irrLicht gestresst, dann werde ich einfach weiter das Blitz3D API nehmen, bloß eben als OOP. Wie heißt das Haupt-Objekt, welches die Methoden hat, wie die Funktion: Graphics?
Gibt's zum Blitz3D API eine Dokumentation? (Oder eine Übersicht aller Objekte und ihrer Methoden?)
Portfolio |LinkedIn |XING

Gehe zu Seite Zurück  1, 2, 3 ... , 10, 11, 12  Weiter


Übersicht Kommentare Worklogs