Textur überlastet Speicher

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

FFB

Betreff: Textur überlastet Speicher

BeitragSo, Feb 17, 2008 4:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
Ich lasse am anfang von meinem Spiel 3 Objekte setzen: Ein etwas größeres Gebäude, ein "Auto" und eine Kamera.

Das Haus war schon immer texturiert und das funktionierte ohne Probleme.
Als ich nun auch das Auto texturiert eingefügt habe meinte er bei jedem programmstart: Memory acces violition.
Ich weis schon was das bedeuted, aber es kann doch nicht sein das der Speicher nach 2 3D Modellen wegen einer Textur aufgibt!?

Dashier ist mein Code:
Code: [AUSKLAPPEN]
AppTitle "unnamed game"
Graphics3D 1024,768
SetBuffer BackBuffer()
camera = CreateCamera()
CameraViewport camera,100,100,1024,768
PositionEntity camera,315,18,113
gh = LoadMesh("gh.b3d")
PositionEntity gh,0,0,0
TurnEntity camera,0,180,0
rw2 = LoadMesh("rw2.b3d")
PositionEntity rw2,5,0,0


;Fahrzeugdatenbank
;TSF-W
tsfwspeed# = 0.0 ;aktuelle Geschwindigkeit
tsfwmaxspeed# = 1.00 ;Maximalgeschwindigkeit
tsfwturbo# = 0.01 ;Beschleunigung pro millisec.
tsfwmasse# = 0.003 ;Desto höher desto kürzer rollt das Fzg. aus
tsfwkradius# = 0.45 ;Desto höher desto schneller nimmt das Fzg. die Kurve
tsfwmaxrueckwaerts# = 0.7 ;Desto höher desto höher ist die höchstgeschwindigkeit rückwärts
tsfwturborueckwaerts# = 0.01 ; desto höher desto schneller beschleunigt FZG. rückwärts u. BREMSSTÄRKE
;TSF-W ENDE
;Fahrzeugdatenbank zuende
bl1 = CreateLight(3)
PositionEntity bl1,144,0,-80
EntityParent bl1,camera,0
LightColor bl1,0,0,255
bl2 = CreateLight(3)
PositionEntity bl2,146,0,-80
EntityParent bl2,camera,0
LightColor bl2,0,0,255
HideEntity bl1
HideEntity bl2
motoran = 0
motorno = 0
lighton = 0
.hier
If stopsound = 1 Then nosound = 0
If motoran = 0 And motorbeschleunigungan = 1 Then StopChannel(motorc)
If motoran = 0 And nosound = 1 Then StopChannel(channel)
Include "tastenconfig.bb"
;Wenn "W" gedrückt geschwindigkeit erhöhen
If KeyDown(17) = 1 And motoran = 1 Then
 StopChannel(channel2)
 ;bewegung des FZG.
  If Not tsfwspeed# => tsfwmaxspeed# Then
  tsfwspeed# = tsfwspeed# + tsfwturbo#
   If motorbeschleunigungan = 0 Then
   motorb = LoadSound("motorbeschleunigung.wav")
   LoopSound(motorb)
   motorc = PlaySound(motorb)
   motorbeschleunigungan = 1
 EndIf
  EndIf   
If tsfwspeed# >= 0.00 Then
MoveEntity camera,0,0,tsfwspeed#
EndIf
EndIf
;Wenn W losgelassen langsames reduzieren der KM/h zahl(ausrollen)
If Not KeyDown(17) Then
 If motoran = 1 Then
 ResumeChannel(channel2)
 StopChannel(motorc)
 motorbeschleunigungan = 0
 EndIf
 motorno = 1
 motorfahrt = 0
 If tsfwspeed# > 0.0 Then
 tsfwspeed# = tsfwspeed# - tsfwmasse#
 leeran = 0
 MoveEntity camera,0,0,tsfwspeed#
EndIf
EndIf


If tsfwspeed# <> 0.0 Then motorfahrt = 1
If tsfwspeed = 0.0 Then motorfahrt = 0
;Wenn "S" gedrückt geschwindigkeit wird verringert
If KeyDown(31) = 1 And motoran = 1 Then

 If tsfwspeed# > -tsfwmaxrueckwaerts# Then
  tsfwspeed# = tsfwspeed# - tsfwturborueckwaerts#
   If motorbeschleunigungran = 0 Then
   motorr = LoadSound("motorbeschleunigung.wav")
   LoopSound(motorr)
   motorcrr = PlaySound(motorr)
   motorbeschleunigungran = 1
   EndIf
 EndIf
  If tsfwspeed# <= 0.00 Then
  MoveEntity camera,0,0,tsfwspeed#
  EndIf
EndIf

;Wenn S losgelassen langsames reduzieren der KM/h zahl(ausrollen)
If Not KeyDown(31) Then
 If motoran = 1 Then
 ResumeChannel(channel2)
 StopChannel(motorcrr)
 motorbeschleunigungran = 0
 EndIf
 motorno = 1
 motorfahrt = 0
  If tsfwspeed# < -0.01 Then
  tsfwspeed# = tsfwspeed# + tsfwmasse#
  leeran = 0
 MoveEntity camera,0,0,tsfwspeed#
 EndIf
EndIf

;Wenn "D" gedrückt kamera nach rechts verschieben
If KeyDown(32) = 1 Then
 If tsfwspeed# < -0.001 Or tsfwspeed# > 0.001 Then
  TurnEntity camera,0,-tsfwkradius#,0
 EndIf
EndIf

;Wenn "A" gedrückt kamera nach links verschieben
If KeyDown(30) = 1 Then
 If tsfwspeed# < -0.001 Or tsfwspeed# > 0.001 Then
  TurnEntity camera,0,tsfwkradius#,0
 EndIf
EndIf

;Wenn rechte Maustaste gedrückt wird kann man umhersehen
If MouseDown(2) Then
 If Not mausbewegt = 1 Then
 MoveMouse 512,384
 EndIf
 mausx# = MouseXSpeed()
 TurnEntity camera,0,mausx#,0
 mausy# = MouseYSpeed()
 TurnEntity camera,mausy#,0,0
 mausbewegt = 1
EndIf
If Not MouseDown(2) And mausbewegt = 1 Then
 mausbewegt = 0
EndIf

UpdateWorld
RenderWorld
Flip
If Not KeyDown(1) Then
Goto hier
EndIf
End


Vll. findet einer ja auch das Problem was ich hier:https://www.blitzforum.de/foru...hp?t=27159 geschildert habe...

mfg

BladeRunner

Moderator

BeitragSo, Feb 17, 2008 9:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Debugger anschalten, nochmal starten und Zeile benennen bei der der Fehler kommt.
Danke.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

The_Nici

BeitragSo, Feb 17, 2008 10:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Memory Acces Vialiation sagt nur dass du etwas falsches an den Speicher geschickt hast. Wie gesagt, Debugger anmachen, andererseits würde ich überprüfen ob du eine Zweier-Potenz Textur hast. (128x128, 512x512) das ist nämlich für die meisten Grafikkarten ein Obligatorum.
 

FFB

BeitragMo, Feb 18, 2008 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ahhh... danke! Ich habe die Textur nochmal neu in den projektordner eingefügt und den leerschrit im namen rausgenommen, und es hat funktioniert Very Happy
Der Debugger brachte leider nichts, da er den fehler in dem "Renderworld" befehl sah.

Der andere Fehler mit dem komischen verhalten meines Modelles ist jetzt endlich auch behoben Very Happy
DANKEEE!!!

mfg

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group