AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi glscene für graphikdarstellung von analytischer geometrie??
Thema durchsuchen
Ansicht
Themen-Optionen

glscene für graphikdarstellung von analytischer geometrie??

Ein Thema von Robertlu · begonnen am 12. Mär 2004 · letzter Beitrag vom 12. Mär 2004
Antwort Antwort
Robertlu

Registriert seit: 22. Feb 2004
Ort: Potsdam
35 Beiträge
 
Delphi 7 Enterprise
 
#1

glscene für graphikdarstellung von analytischer geometrie??

  Alt 12. Mär 2004, 13:16
Hallo

wie kann ich glscene für graphikdarstellung von analytischer geometrie nutzen???
mein projekt verwendet mehrere fenster, ich weis noch nichts über glscene.

gruß robert
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: glscene für graphikdarstellung von analytischer geometri

  Alt 12. Mär 2004, 14:31
Zitat:
ich weis noch nichts über glscene.
Dann solltest du dir das zunächst mal saugen, und damit ein wenig herumspielen! Hier und da findet man auch kleine Hilfestellungen im Netz (Onkel Google ist dein Freund ).

Wie du analytische Geometrie darstellen kannst!? In dem du sie zeichnen (rendern) lässt... es gibt etliche Objekte is GLScene, diverse möglichkeiten zu zeichnen etc.pp.
Die Frage ist zu allgemein um sie sinnvoll beantworten zu können.

Wenn du konkrete Fragen hast, dann können wir weiter reden



gruss,
dizzy
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Robertlu

Registriert seit: 22. Feb 2004
Ort: Potsdam
35 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: glscene für graphikdarstellung von analytischer geometri

  Alt 12. Mär 2004, 15:13
Hallo dizzy ich hab da mal ne konkrete frage:

Code:
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OpenGL12;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
****procedure*InitGL;*
****procedure*DrawScene;
****procedure*ApplicationEvents1Idle(Sender:*TObject;*var*Done:*Boolean);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

procedure*SetDCPixelFormat(Handle:*HDC);

var
  Form1: TForm1;
  aDC:hDC;
**hRC:HGLRC;

implementation

{$R *.dfm}




procedure*SetDCPixelFormat(Handle:*HDC);
**var
****nPixelFormat:*GLUint;
**const
****pfd:*PIXELFORMATDESCRIPTOR*=*( 
********nSize:*sizeof(*PIXELFORMATDESCRIPTOR*);
********nVersion:*1;
********dwFlags:*PFD_DRAW_TO_WINDOW
********or*PFD_SUPPORT_OPENGL
********or*PFD_DOUBLEBUFFER;
********iPixelType:*PFD_TYPE_RGBA;
********cColorBits:*16;
********cRedBits:*0;
********cRedShift:*0;
********cGreenBits:*0;
********cBlueBits:*0;
********cBlueShift:*0;
********cAlphaBits:*0;
********cAlphaShift:*0;
********cAccumBits:*0;
********cAccumRedBits:*0;
********cAccumGreenBits:*0;
********cAccumBlueBits:*0;
********cAccumAlphaBits:*0;
********cDepthBits:*16;
********cStencilBits:*0;
********cAuxBuffers:*0;
********iLayerType:*PFD_MAIN_PLANE;
********bReserved:*0;
********dwLayerMask:*0;
********dwVisibleMask:*0;
********dwDamageMask:*0 
****);
**begin
****nPixelFormat:=ChoosePixelFormat(aDC,*@pfd);
****SetPixelFormat(aDC,nPixelFormat,@pfd);
**end;


procedure*TForm1.InitGL;
begin
**glClearColor(0,0,0,0);
**glClearDepth(1);
**glDepthFunc(GL_LESS);
**glShadeModel(GL_SMOOTH);
**glEnable(GL_DEPTH_TEST);
**glViewport(0,0,Width,Height);
**glMatrixMode(GL_PROJECTION);
**glLoadIdentity;
**gluPerspective(45,Width/Height,1,100);
**glMatrixMode(GL_MODELVIEW);
end;


procedure*TForm1.DrawScene;
begin
**glClear(GL_COLOR_BUFFER_BIT*or*GL_DEPTH_BUFFER_BIT);
**glLoadIdentity;
**//Hier wird später die Scene gezeichnet.
**SwapBuffers(aDC);
end;


procedure*TForm1.ApplicationEvents1Idle(Sender:*TObject;
**var*Done:*Boolean);
begin
**DrawScene;
**Done:=False;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  InitOpenGL;
**aDC:=GetDC(Handle);
**SetDCPixelFormat(aDC);
**hRC:=wglCreateContext(aDC);
**wglMakeCurrent(aDC,hRC);
end;

end.

Da kommt bei mir folgender Fehler

END erwartet, aber ungültiges Zeichen #160 gefunden.

und dann noch ein paar compilerfehler

den Code habe ich mir auf der Basis eines Tutorials aufgebaut

Danke schon mal

ROB
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: glscene für graphikdarstellung von analytischer geometri

  Alt 12. Mär 2004, 16:22
Hm, #160 ist ein "á", und #0160 ein Leerzeichen. Letzteres ist aber Unicode, uns dürfte in nem Delphi-Quelltext nicht zu finden sein. ein "á" finde ich aber auch nicht... Eventuell sind nach dem Kopieren ein paar Fehler reingekommen!?

Das "á" ist aber unter Umständen auch in den Sourcen von GLScene zu finden, da dies von einem Franzosen stammt, und dort manche (wenige) Kommentare in Französisch sind. Evtl. fehlt ja irgendwo das // o.ä., so dass das Zeichen scheinbar zur Quelle gehört. Allerdings hatte ich dieses Problem an keiner Stelle.

Einen Großteil der Compilermeldungen kann man bestimmt auf den ersten Fehler zurückführen. Du musst aber auch genau darauf achten, dass du alle nötigen Units einbindest. U.U. weiss man erst was "benötigt" ist, wenn man den Source nach einem benötigten Datentyp von Hand durchsucht. TVector3f und andere sind z.B. in "VectorTypes.pas". Klingt einleuchtend, steht aber nirgend wo geschrieben...

Auch musst du darauf achten alle Unterverzeichnisse von "($GLScene)\source\* " in den Bibliothekspfad zu übernehmen. es reicht scheinbar nicht nur "($GLScene)\source" zu nehmen.


Hoffe ich konnte etwas helfen.

gruss,
dizzy

\\edit: hmmm... die Tutorials kenne ich . Mein erster Code sah sehr ähnlich aus.

AHHH HALT!!!
Du initialisiesrt ja von Hand!? Was dein Quellcode darstellt sind die ersten Schritte zu Pure-OpenGL! Bei GLScene ist das alles nicht nötig! Da reicht es eben ein TGLScene-Objekt auf's Formular zu klatschen, und *bubbs* alles initialisiert!
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: glscene für graphikdarstellung von analytischer geometri

  Alt 12. Mär 2004, 16:28
Dazu sei noch gesagt:

GLScene <> OpenGL !!!

GLScene kapselt OpenGL-Klamotten, um es dir einfacher zu machen. Wenn du pures OpenGL machen möchtest, dann mach mit dem weiter, was du schon hast. Aber sei gewappnet: Du musst jedes einzelne Face Punkt für Punkt ganz von Hand setzten! OpenGL kennt keine Primitives wie Würfel oder Kugeln. Das müsstest du dir komplett selber bauen!
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz