MAV bei Renderworld

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

MisterMaboo

Betreff: MAV bei Renderworld

BeitragDo, Jan 27, 2011 17:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo. Mein Code ist mittlerweile so umfangreich, dass ich nicht selbst ausmachen kann, wo da ein Fehler liegt.
Das Problem ist, dass beim Starten des Programms eine Memory Acceess Violation auftritt; nicht bei mir, aber bei meinen Freunden. Ich kann alles schön ausführen, meine Freunde können die Anwendung zwar starten aber bei Beiden treten zu unterschiedlichen Zeitpunkten MAVs auf. Ich habe ihnen also auch meinen Code geschickt, und der Debugger markiert nach der MAV "RenderWorld".

Das eigentliche Problem ist eben, dass ich keinerlei Fehlermeldungen erhalte, nur meine Freunde auf WinXP und Win7, ich selbst habe WinVista.

Wo kann ich nach dem Problem suchen, und sagt bitte nicht überall Sad
Man is the information he carries

TimBo

BeitragDo, Jan 27, 2011 18:27
Antworten mit Zitat
Benutzer-Profile anzeigen
was hast du denn gemacht, zwischen deinem letzten bugfreiem Test und diesem jetzt ?
Ohne Code kann man nur raten.
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.

MisterMaboo

BeitragDo, Jan 27, 2011 18:29
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist der erste test den ich freunden geschickt habe, soll ichs mal hochladen?

edit: super, dauert nen moment. aber der code ist gruselig!

edit: hier ist der link: http://www.fileuploadx.de/360346

dass es zu viele polygone sind, wäre durchaus gut möglich.. was genau heißt aber "zu viele"?
Man is the information he carries
  • Zuletzt bearbeitet von MisterMaboo am Do, Jan 27, 2011 20:36, insgesamt 2-mal bearbeitet

TimBo

BeitragDo, Jan 27, 2011 18:29
Antworten mit Zitat
Benutzer-Profile anzeigen
wäre nicht schlecht...
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.

Xeres

Moderator

BeitragDo, Jan 27, 2011 19:44
Antworten mit Zitat
Benutzer-Profile anzeigen
- Zu viele Polygone
- Die Kamera ist auf den Koordinaten NaN/Infinity gelandet
...
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)
 

FireStorm

BeitragDo, Jan 27, 2011 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
könnte auch sein dass du eine userlib verwendet und nicht mitgeschickt hast.
Userlibs NIEMALS in den system32 Ordner legen! Nur eine Möglichkeit...

MisterMaboo

BeitragDo, Jan 27, 2011 22:02
Antworten mit Zitat
Benutzer-Profile anzeigen
habe ich nicht. aber meine objekte haben viele polys
Man is the information he carries

Megamag

BeitragDo, Jan 27, 2011 23:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Und China hat viele Menschen.
Wie viele Polys genau haben deine Mdelle denn?
Mein DeviantArt Profil
Gewinner des BAC #136

MisterMaboo

BeitragFr, Jan 28, 2011 8:22
Antworten mit Zitat
Benutzer-Profile anzeigen
china hat viele menschen und ich habe verschiedene objekte Wink

also die figur z.B. ist mit 1200 faces noch im unteren bereich dabei, die bäume haben fast 8000 und das meshterrain auch, ich weiß nicht was ich jetzt alles nennen soll, ich weiß auch nicht was zu viel ist bzw. wäre.
Man is the information he carries

aMul

Sieger des Minimalist Compo 01/13

BeitragFr, Jan 28, 2011 12:35
Antworten mit Zitat
Benutzer-Profile anzeigen
8000 pro Mesh sollte kein Problem sein(Auch wenn man sich ernsthaft fragt, was für ein Baum soviel Detail braucht, ich würde für Bäume ein paar hundert maximal einrechnen).
Die Geschwindigkeit leidet darunter vermutlich, aber der einzig wichtige Punkt ob BlitzBasic abstürzt oder nicht ist hier die Anzahl Triangles und Verteces pro Surface, und da jedes Mesh ein eigenes Surface hat, sollte das so klappen.
(Es sei denn was du "Faces" nennst sind nicht Dreiecke sondern Vierecke, dann wirds knapp.)
So oder so, wenn die Meshes zu komplex wären würde ich vermuten, das es bei allen gleich abstürzen sollte.
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

MisterMaboo

BeitragFr, Jan 28, 2011 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
das, was ich faces nenne, sind zum teil vierecke. blender gibt einfach die anzahl an faces insgesamt an, sowohl vier- als auch dreiecke. also die tester haben beide neuere grafikkarten und schnellere computer, ich kann mir also kaum vorstellen, warum es bei ihnen wegen zu vielen faces abstürzen sollte und bei mir nicht.

TrisRendered() gibt zwischen 10.000 und 70.000 tris an Sad
Man is the information he carries

Hakkai

BeitragFr, Jan 28, 2011 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann es sein das du Sprites verwendest, denn da kommt so ein MAV auch ganz gerne. Solltest dir eine eigene Funktion dafür schreiben wenn du denn welche verwendest.

MisterMaboo

BeitragFr, Jan 28, 2011 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
für was? für das erstellen der sprites? ich benutze createsprite() und eine eigene funktion um die sprites zu animieren
Man is the information he carries

Hakkai

BeitragFr, Jan 28, 2011 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, createSprite() führt zu MAV's, frag mich nicht warum habe mir dafür auch eine eigene Funktion geschrieben die das Alpha Zeugs nicht mit beinhält.

Xeres

Moderator

BeitragFr, Jan 28, 2011 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Sind die Sprite Probleme seit 1.106 nicht gelöst?
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)

MisterMaboo

BeitragFr, Jan 28, 2011 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
ich bin viel im internet unterwegs und ich habe noch keine community gefunden, die so effizient, schnell und freundlich lösungsvorschläge liefert. ihr seid super, weiter so!

ich war bei B3D version 1.05 oder sowas, jetzt hab ich gepatcht und schau mal obs geht

edit: leider ist das noch nicht die lösung des problems. ich verwende weiterhin sprites, genauso wie vorher, aber eben mit der aktuellen B3D version.
der eine der beiden, der vorher schon unmittelbar nach dem laden eine MAV bekam, kann das spiel jetzt zwar laden und fast anfangen zu spielen, da kommt sie schon wieder. den anderen, der vorher schon starten, laden und ein paar sekunden spielen konnte, habe ich noch nicht um einen erneuten test gebeten.

ich möchte langsam echt mal wissen, woran das liegen kann Very Happy
Man is the information he carries

Hakkai

BeitragSa, Jan 29, 2011 2:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Also soweit ich weis ist der Fehler noch drin mit den Sprites, versuch doch einfach mal alles was bei dir mit Createsprite zusammenhängt, rauszunehmen.

MisterMaboo

BeitragMo, Jan 31, 2011 1:09
Antworten mit Zitat
Benutzer-Profile anzeigen
offensichtlich ist der fehler noch drin; nach mehrmaligem testen steht jetzt fest, dass sowohl CreateSprite() and auch LoadSprite() eine MAV verursachen.

ich habe es selber versucht und danach gesucht, aber ich schaff es einfach nicht, loadsprite zu umgehen.
kann mir jemand sagen, wie ich eine eigene funktion für soetwas schreibe?

Code: [AUSKLAPPEN]
Function loadsprite2(pfad$)
Local sprite=CreateCube()
Local texture=LoadTexture(pfad,4)
EntityTexture sprite,texture
ScaleEntity sprite,10,10,0.01
Return sprite
End Function


das ist ganz schwach Very Happy

ich bräuchte soetwas wie "CreateFace()", o.ä.

naja, wie gesagt, ich schaff es alleine nicht.
Man is the information he carries

Hakkai

BeitragMo, Jan 31, 2011 1:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Im letzten BCC45 "Weihnachtsspiel schreiben", habe ich eine eigene Loadsprite Funktion genutzt:

Code: [AUSKLAPPEN]
;--------------------

Function LoadSprite2(spritepath$, mode=0, parent=0) ; normales Loadsprite klappt nicht gescheit btw. gibt MAV's
   
   If parent
      m = CreateMesh(parent)
   Else
      m = CreateMesh()
   EndIf
   
   ;face
   If mode = 4 ; masked
      b=LoadBrush( spritepath$ ,32+16+4+1 )
   Else
      b=LoadBrush( spritepath$ ,32+16+1 )
   EndIf
   
   ;face
   s=CreateSurface( m,b )
   AddVertex s,+1,+1,0,0,0
   AddVertex s,-1,+1,0,1,0
   AddVertex s,-1,-1,0,1,1
   AddVertex s,+1,-1,0,0,1
   
   AddTriangle s,0,1,2
   AddTriangle s,0,2,3
   
   FreeBrush b
   
   ;sprite.Tsprite = New Tsprite
   ;sprite\mesh = m
   
   Return m
   
End Function

;--------------------


Für nachgehende Modifikationen der Sprites zB. zum Ausrichten, muss man dann allerdings ein eigenes Type deklarieren, dann kannst du die beiden unteren auskommentierten Zeilen mit reinnehmen.

Hier noch eine CopySprite Funktion, man sollte evlt. besser CopyMesh funktion sagen, hier bräuchtest du dann das Type sogar zwangsweise:

Code: [AUSKLAPPEN]
;--------------------

Function CopySprite(entity, parent = 0)
   
   If parent
      m = CopyEntity(entity, parent)
   Else
      m = CopyEntity(entity)
   EndIf
   
   sprite.Tsprite = New Tsprite
   sprite\entity = m
   
   Return m
   
End Function

;--------------------

MisterMaboo

BeitragMo, Jan 31, 2011 12:25
Antworten mit Zitat
Benutzer-Profile anzeigen
genial. vielen, vielen dank mal wieder!

das einzige, was jetzt noch fehlt, ist ein ersatz für "ScaleSprite()", ich weiß nicht warum das mit types besser/ wie es überhaupt gehen sollte..
Man is the information he carries

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group