Funktionsweise entitysystem...
Übersicht

hamztataBetreff: Funktionsweise entitysystem... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wie funktioniert sowas grundlegend?
also irgendeine sprache+eine 3d engine. variable = loadmesh.....bla wird da die variable intern von der 3d engine(oder auch 2d) umgewandelt zu einem pointer auf eine struktur die innerhalb der engine kreiert wurde. aus einem integer wird also ein type bzw. eben pointer? die struktur hätte dann als member alle möglichen eigenschaften....position,rotation,effekte etc. ist der denkansatz richtig, oder lieg ich da falsch? |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
So wie ich das Verstanden habe ist die Variable ein handle für die Informationen im Arbeitsspeicher. Unter diesen Informationen kann man die von dir genannten Faktoren verstehen.
In B2D wird z.B. das Handle auf die jeweilige bmp Datei im Arbeitspeicher in dem jeweiligen Integer gespeichert. Hoffe ich liege hier nicht falsch. Viele Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
hamztata |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja aber ein integer wäre in dem falle ein pointer auf die struktur des entity mit allen eigenschaften.
und logischerweise im Ram, wo sonst. |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
genau ein Handle eben , oder ist doch das gleiche ?
*GTA IV hat ja wohl Ram mit VRAM verwechselt , alles in den Vram gestopft* |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
hamztata |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
meine frage ist damit aber noch nicht beantwortet.
eine variable ist immer noch ein integer. wenn man nun eine andere engine mit bb z.b. nutzen würde, wie wird dann aus der variablen ein handle/pointer? das macht dann die engine, oder? also die variable ist immer noch eine variable, nur engineintern ist es kein integer mehr, sondern eben der pointer auf die betreffende struktur.right? |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zu jedem Handle ist intern wahrscheinlich ein Pointer zugeordnet. Das heißt man gibt der Engine ein Handle(Integer) und intern wird dises dann abgeglichen und der passende Pointer gesucht. | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich denke nicht , dass das Handle direkt der Pointer ist.
Das ist wohl der Pointer einer Blitz Internen Bank . Viele Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Integer ist ganz einfach der Zeiger auf die Engineinterne Struktur - Blitz Basic kennt einfach keinen Datentyp für Zeiger, deshalb ist es ein Int.
Wenn man dieses Handle wieder an die Engine übergibt, spielt es keine Rolle, wie der Zeiger in Blitz Basic gehandhabt wurde - was reinkommt, ist für die Engine ein ganz normaler Zeiger. In der Struktur, auf die der Zeiger zeigt, sind dann die Engineinternen Dinge gespeichert, unter anderem auch die Objektmatrix und das Mesh selbst, wie es von DX/OGL gespeichert wird. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
hamztata |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das ist schon klar, aber nimm mal eine andere sprache, wo integer eben integer ist, und kein pointer.
dann wird das engineintern sicher anders gehandhabt, aber das prinzip ist mir nun klar, lag ich ja richtig.... kanns ja losgehen..... |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group