CopyEntity - Surface

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Fuchsi

Betreff: CopyEntity - Surface

BeitragMo, Jul 28, 2008 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Simple Frage, wird beim Aufruf des Befehls "CopyEntity" ein neues Surface erstellt ?

Shodan

BeitragDi, Jul 29, 2008 20:43
Antworten mit Zitat
Benutzer-Profile anzeigen
simple Antwort: NEIN!
www.selfmadegames.de
 

BIG BUG

BeitragDi, Jul 29, 2008 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Jein.
In Blitz3D hast Du nur ein Surface, die Grafikkarte wickelt diese aber getrennt ab(Nur von Interesse falls Du eine SingleSurface-Engine schreiben willst)
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)
 

klepto2

BeitragDi, Jul 29, 2008 22:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Um eins klarzustellen: Auch wenn ich kein B3D habe, weiß ich wie B3D arbeitet und ich versichere dir B3D verwendet mehrere Surfaces. Ansonsten könntest du nicht eine Scene mit mehr als 65535 Vertices erstellen.

Eine surface ist nix weiter als eine Klasse wo die verschiedenen Vertexattribute gespeichert werden.
Bei Copyentity wird ein neues Entity erstellt, die Zeiger der surfaces jedoch auf die des originals gelenkt. Darum ein klares Nein!.
Matrix Screensaver
Console Modul für BlitzMax
KLPacker Modul für BlitzMax

HomePage : http://www.brsoftware.de.vu
 

Dreamora

BeitragDi, Jul 29, 2008 22:48
Antworten mit Zitat
Benutzer-Profile anzeigen
CopyEntity erzeugt ein neues Set an Entity Eigenschaften (scale, position, rotation, color und 1-2 andere Dinge).
Alle kopierten entities teilen jedoch das drunter liegende "mesh"

CopyEntity macht von daher nichts anderes als dir ein neues Set von Transformationsdaten zu liefern um das gleiche Mesh noch einmal zu nutzen ohne weiteren RAM zu verheizen.

DX7 hat kein Geometry Instancing insofern wird für jedes entity im endeffekt ein eigenes mesh an die Grafikkarte gesendet wird. Aber im System RAM ist es nur einmal vorhanden, damit kannst du 1 mesh ändern und duzende haben die änderung. (wo das sinn macht muss jeder selbst wissen. bei einem RTS zb um alle einheiten eines teams zu erzeugen und so gleich die texturen etc zu haben für alle)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Fuchsi

BeitragMi, Jul 30, 2008 11:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Mein Problem war folgendes: Ich benötige viele kleine Objekte, die zwar alle gleich aussehen ( Größe, Textur, ... ) jedoch unterschiedlich gedreht werden.
Deshalb muss ich jetzt entscheiden, was ich benutze. SingleSurface ohne die Möglichkeit der seperaten Rotation für jedes Objekt, oder CopyEntity, wo ich diese Einschränkung nicht habe.
Da noch viel mehr dazukommen wird geht es mir deshalb vorwiegend um die Geschwindigkeit.

aMul

Sieger des Minimalist Compo 01/13

BeitragMi, Jul 30, 2008 11:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso kannst du die einzelnen Objekte mit SingleSurface nicht drehen?
Also meine Sprite-Engine kann das...
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

Fuchsi

BeitragMi, Jul 30, 2008 14:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Confused
Also die SingleSurface - Sprites lassen sich ja auch drehen, aber die Textur bleibt doch trotzdem gerade, oder ?

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Jul 30, 2008 16:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, da die UV-Koordinaten an das Mesh gebunden sind, wird die Textur mit dem Mesh gedreht. Allerdings wird so ein Spritesystem kaum schneller bzw. sogar langsamer sein, als reines 2D von BlitzBasic (wenn man mal vom Spritesystem und den zugekommenen Möglichkeiten absieht).

Ohne immer wieder Werbung machen zu müssen, kannst du dir mal meine Draw3D ansehen (siehe Signaturlink). Diese ist Singlesurface und ermöglicht nahezu alles, was man so braucht. Also Dinge wie Rotation, Skalierung, Imagealpha, eigenes einfärben und Alpha, eigenes grabben von Teilbildern, Frames, Imagelines, und sonstige native Befehle wie Plot, Line, Rect, Oval ... das alles natürlich in Echtzeit und so einfach wie nur möglich zu bediehnen ausgelegt.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Fuchsi

BeitragMi, Jul 30, 2008 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Smile
Danke fürs Angebot, allerdings liegt der besondere Reiz für mich darin sowas selbst zu schreiben.
Ich werd dann noch ein bisschen herumtüfteln, mal schauen.

MfG

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group