![]() |
Re: Facharbeit - 3D Topographie anzeigen
Liste der Anhänge anzeigen (Anzahl: 1)
hm... ich hab den aus einem meiner Projekte kopiert. Aber ich werde das natürlich sofort überprüfen.
EDIT: tatsächlich... :wall: hier das ganze in verbessert und getestet:
Delphi-Quellcode:
Im Anhang ein kleines Beispielprogramm. Benötigt dglopengl.pas.
type Single2dArray = array of array of single;
function BuildDL(heightmap: Single2dArray; scalexy,scalez:single): integer; var i,k,t:integer; begin result := glGenLists(1); //eine DL, bitte! glNewlist(result, GL_COMPILE); //jetzt gehts los! t := round((length(heightmap) div 2) * scalexy); gltranslatef(-t,-t,0); // In die Mitte verschieben glbegin(gl_triangles); glcolor3f(255,0,0); for i:=1 to length(heightmap)-2 do // ich greife auch auf i-1 und i+1 zu! for k := 1 to length(heightmap[i])-2 do // ich greife auch auf k-1 und k+1 zu! begin //erstes dreieck glVertex3f(i * scalexy, k * scalexy, heightmap[i,k] * scalez); glVertex3f((i-1) * scalexy, (k) * scalexy, heightmap[i-1,k] * scalez); glVertex3f(i * scalexy, (k+1) * scalexy, heightmap[i,k+1] * scalez); //zweites dreieck glVertex3f((i-1) * scalexy, k * scalexy, heightmap[i-1,k] * scalez); glVertex3f((i-1) * scalexy, (k-1) * scalexy, heightmap[i-1,k-1] * scalez); glVertex3f((i+1) * scalexy, (k+1) * scalexy, heightmap[i+1,k+1] * scalez); end; glend; glcolor3f(255,255,255); glEndList; end; |
Re: Facharbeit - 3D Topographie anzeigen
wie dem auch sei, könnma bissi runterbremsen?
ich krieg nedmal das GLScene installiert :wall: gaanz langsam: ich lade GLScene_v09b_Full.zip und entpacke in einen ordner dann öffne ich delphi7/GLScene7.dpk und drücke auf Install Fehlermeldung: GLScene.inc fehlt GLScene.inc ist im Source Ordner also kopiere ich GLScene.inc von dem Source Ordner in delphi7-Ordner und drücke auf Install es kommt eine Meldung, dass alles installiert wurde (FMOD hab ich auch noch installiert, aber das sollte egal sein) nach der Anleitung ( ![]() [After installing the package some files require accessability by Delphi. This is done by placing the Path to the files in the Program Options Directories Source form.] da kapier ich aber nicht, was die von mir wollen. Wo soll ich welche Ordner einstellen??? "Program Options Directories Source form"? keine Ahnung, wo das sein soll... Auf jeden Fall ist die Installation so noch nicht abgeschlossen - [Fatal Error] Unit1.pas(6): File not found: 'GLScene.dcu' was wollen die also von mir? sorry wenn ich mich da bissi blöd stell, aber das mit dem Installieren hab ich noch nie kapiert, :mrgreen: |
Re: Facharbeit - 3D Topographie anzeigen
Ich nehme an, dass du den ordner, in dem die glscene.pas liegt, einfach in die bibliothek aufnehmen musst.
Also In Delphi ins Mainmenu, tools->umgebungsoptionen->bibliothek, und da den entsprechenden pfad dazutun. |
Re: Facharbeit - 3D Topographie anzeigen
okay, das wars... glScene ist installiert - das war ein harter Brocken :oops:
allerdings sind mir die Tutorials viel zu wenig zielgerichtet (Zeitknappheit). Ich brauche also so eine Heightmap aus dem Array, ne Kamera (die per maus + rad einstellbar ist), ne Lampe und die Möglichkeit das alles als bmp abzuspeichern. Gerendert werden soll in einem bestimmten Bereich. Dafür ist das GLSceneViewer, oder? Gibt es irgendwo eine Art Tutorial, das in etwa auf das hinführt und mich von Fog, Fire, Sprites, Textures, Hud, usw verschont? :mrgreen: @TubroPascal: wo finde ich den Quellcode zu der exe - das kommt doch ziemlich genau an das hin, was ich bräuchte ^^ ? |
Re: Facharbeit - 3D Topographie anzeigen
In Bitmap speichern sollte ganz einfach sein:
Delphi-Quellcode:
sorry wegen der formatierung ;)
procedure SaveToBMP(Heightmap: Single2dArray; filename: string);
var bmp : TBitmap; i,k : Integer; begin bmp := TBitmap.create; try bmp.width := length(HeightMap); bmp.Height := length(Heightmap[0]); for i := 0 to bmp.width -1 do for k := 0 to bmp.height -1 do bmp.pixels[i,k] := RGB(Heightmap[i,k],HeightMap.[i,k],HeightMap.[i,k]); bmp.savetofile(filename); finally bmp.free; end; end; |
Re: Facharbeit - 3D Topographie anzeigen
Zitat:
|
Re: Facharbeit - 3D Topographie anzeigen
okay wär genial,
wegen saveToBMP: ich möchte, dass ein Screenshot gespeichert wird. Also so, wie mein Anzeigeelement (GLSceneViewer?) das Bild gerade rendert (Licht, Kamera), soll es in eine datei abgespeichert werden. Die Funktion sieht eher so aus, als ob sie ein kleines bmp erzeugt mit den Farbwerten, die das array zurückliefert... oder check ichs wieder nicht? |
Re: Facharbeit - 3D Topographie anzeigen
jupp, genauso siehts aus ;)
zu screenshot machen in OpenGL solltest du im DelphiGL-Forum genug finden, wie das mit GLScene geht, weiss ich nicht. |
Re: Facharbeit - 3D Topographie anzeigen
Liste der Anhänge anzeigen (Anzahl: 2)
Bitte.
Zitat:
|
Re: Facharbeit - 3D Topographie anzeigen
leute... ich kapiers ned,
Dein code läuft bei mir grad ned Seither hab ich: Neugestartet -.- Ich hab jetzt das gesamte GLScene gelöscht und aus der Component-Liste rausgeschmissen. Dann die neue beta-Version installiert. Keine Änderung... Fehlermeldungen Klassen nicht gefunden: tglSceneViewer tglScene tglCadencer tglWindowsBitmapFont ... Außerdem werden alle möglichen dcu files nicht gefunden, wechselt aber immer objects.dcu vectorgeometry.dcu ... keine Ahnung, was ich falsch mache. ==> Panik, Verzweiflung, Suizidgedanken, ... ich werde jetzt erstmal Delphi komplett ermorden und neu installieren, dann die normale Versio (nicht beta) von GLScene so installieren wie beim letzten Mal. Danach besauf ich mich... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz