+Problem mit Brush frei geben beim Terrain neu laden ...
Übersicht

![]() |
Markus2Betreff: +Problem mit Brush frei geben beim Terrain neu laden ... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mein Terrain ![]() Also ich habe diese neue Funk. GetSurfaceBrush womit ich wieder mit GetBrushTexture ein Texture Handle bekomme wo ich dann fröhlich in den Texturepuffer drin rum malen kann was ja auch geht . Aber wenn ich das Entity wieder frei geben will bzw. aus dem Speicher entfernen will und genau die gleiche Texture neu lade ist sie immer noch im Speicher, auch wenn ich die mit FreeTexture und FreeBrush frei gebe ist sie beim neu laden immer noch drinne und das ist sehr doof da es ein Terrain Editor wird wo ich gerade Straßen malen will und wenn man sich mal vertan hat wird das Terrain halt neu geladen als Ersatz für Undo . Im Moment besteht das Terrain aus 16 Teile bzw. Meshes und sort wo die Straße sein soll wird das Terrain noch an diese Straße angepaßt darum ist das doof alle Texturen die ich generiert habe in nem Malprogramm zu bearbeiten , allein schon wegen der Übergänge . Zweites Problem , ich lade mein Terrain (eigene lade Funk.) die eine Tetxure automatisch mit ladet und danach will ich eine Texture die für alle Terrains gilt nachträglich drüber blenden (weils besser aussieht) aber da passiert nix . Das sieht dann so aus : Code: [AUSKLAPPEN] For t.TerrainType=Each TerrainType s=GetSurface(t\Entity,1) br=GetSurfaceBrush(s) BrushTexture br,TxTerrainBlend,0,1 Next |
||
- Zuletzt bearbeitet von Markus2 am Di, Jun 29, 2004 19:22, insgesamt einmal bearbeitet
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
zwar habe ich dein erstes problem nicht ganz verstanden, aber viellleicht kann ich dir ja doch etwas helfen:
du willst also die textur entfernen und dann neuladen, aber sie ist immernoch im speicher? es wäre vielleicht einfacher, wenn du einfach beschrieben hätttest, was passiert. siehst du immernoch dieselbe bemalte textur oder woran machst du das fest? notfalls kannst du ja die bereits bestehende zur neuzuladenden machen. wenn garnichts anderes geht, kann man eigentlich sogar mit loadimage und drawblock arbeiten ^^. zweites problem: du solltest dich mal etwas genauer ausdrücken. soll das eine detailtexture sein? oder eine riesige übergreifende textur (z.b lightmap)? oder was-auch-immer? aber dein problem scheint ja zu sein, dass man garnichts sieht. hast du an textureblend gedacht? ältere pcs haben auch probleme mit hwmultitex 1. setze es mal auf 0, um zu sehen, ob es an deinem pc liegt. wenn sie übergreifend sein soll, könnte es evtl probleme mit den uvkoordinaten geben. lösung dafür wäre eine riesige scale und positionierungsaktion, eine aufteilung oder eine verlagerung der textur auf die vertexfarben. (oder ein zweites uvset... ... aber gibt's sowas in bb?) |
||
MrKeks.net |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, das 1. ist ein Bug, das kannst du erst löschen, wenn die Textur nirgens wo mehr dran hängt! | ||
between angels and insects |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
EDIT
Habe die Lösung gefunden , und zwar wenn man eine Surface anlegt und dieser einen Brush übergibt muß man ihn danach direkt wieder frei geben weil CreateSurface da wohl ne kopie von macht ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group