Autor Beitrag
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: So 17.08.03 01:21 
Für Kylix:

Graphics = QGraphics

Bei Jpeg muss man ein wenig "tricksen":
ausblenden Delphi-Quelltext
1:
2:
type
  TJpegImage = TBitmap

Das TBitmap kann unter Linux neben .bmp auch .xpm, .png und .jpg einlesen und schreiben.

_________________
Ist Zeit wirklich Geld?
10Markus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33



BeitragVerfasst: So 17.08.03 12:53 
Titel: Problem mit dem ganzen...
Hi,

ich habe vor ein 3D-Koordinatensystem zu zeichnen, komme aber nicht richtig weiter. Es geht schon damit los, dass ich folgendes nicht machen kann: Ich habe einen Punkt mit x|y|z und will einen 2. Punkt zeichnen, der die gleichen x|y-koordinaten hat, nur eine andere z koordinate. Wie muss ich das anstellen?

Könnte mir vielleicht jemand den Code eines einfachen Würfels schicken, dann hätte ich mal eine Vorlage, mit der ich was anfangen könnte.

Ihr könnt mich auch per ICQ kontakten (#169699241).

Wäre für jede Hilfe Dankbar.

Grüße,
Markus
t/f
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70



BeitragVerfasst: So 17.08.03 14:13 
ok ich bin aber noch nicht viel weiter

ich habe folgende Änderungen vorgenommen:
ausblenden Delphi-Quelltext
1:
2:
3:
uses
  OpenGL12, SysUtils, QGraphics, Classes;
  // Windows, OpenGL12, SysUtils, Graphics, JPEG, Classes;

und
ausblenden Delphi-Quelltext
1:
2:
type
  TJpegImage = TBitmap;

Aber es scheint mehr zu fehlen ... ;)
Zitat:
[Fehler] Textures.pas(87): Undefinierter Bezeichner: 'TRGBQuad'
[Fehler] Textures.pas(88): Undefinierter Bezeichner: 'DWord'
[Fehler] Textures.pas(235): Undefinierter Bezeichner: 'CopyMemory'
[Fehler] Textures.pas(257): Undefinierter Bezeichner: 'CopyMemory'
[Fehler] Textures.pas(292): Undefinierter Bezeichner: 'BitmapFileHeader'
[Fehler] Textures.pas(293): Undefinierter Bezeichner: 'BitmapInfoHeader'
[Fehler] Textures.pas(302): 'THEN' erwartet, aber Bezeichner 'bfType' gefunden
[Fehler] Textures.pas(308): 'THEN' erwartet, aber Bezeichner 'biSize' gefunden
[Fehler] Textures.pas(313): Operator oder Semikolon fehlt
[Fehler] Textures.pas(314): ')' erwartet, aber Bezeichner 'biHeight' gefunden
[Fehler] Textures.pas(316): ';' erwartet, aber 'IF' gefunden
[Fehler] Textures.pas(317): Undefinierter Bezeichner: 'iHeader'
[Fehler] Textures.pas(319): Undefinierter Bezeichner: 'Bitmap'
[Fehler] Textures.pas(320): Inkompatible Typen
[Fehler] Textures.pas(321): Inkompatible Typen
[Fehler] Textures.pas(325): Inkompatible Typen
[Fehler] Textures.pas(329): Deklaration erwartet, aber 'IF' gefunden
[Fehler] Textures.pas(330): Undefinierter Bezeichner: 'PalSize'
[Fehler] Textures.pas(330): Operator oder Semikolon fehlt
[Fehler] Textures.pas(330): Anweisung erforderlich, aber Ausdruck vom Typ 'Integer' gefunden
[Fehler] Textures.pas(331): Undefinierter Bezeichner: 'Bitmap'
[Fehler] Textures.pas(331): Nicht gengend wirkliche Parameter
[Fehler] Textures.pas(331): ')' erwartet, aber ',' gefunden
[Fehler] Textures.pas(332): '.' erwartet, aber 'IF' gefunden
[Fehler] Textures.pas(332): Bezeichner redefiniert: 'Finalization'
[Fehler] Textures.pas(333): Undefinierter Bezeichner: 'Result'
[Fehler] Textures.pas(334): Inkompatible Typen
[Warnung] Textures.pas(336): Text hinter dem abschlie?nden 'END.' wird vom Compiler ignoriert
[Hinweis] Textures.pas(116): Das private-Symbol 'ImageSize' wurde deklariert, aber nie verwendet
[Fehler] Textures.pas(118): Ungengende Forward- oder External-Deklaration: 'TTextur.ClearMem'
[Hinweis] Textures.pas(119): Das private-Symbol 'SetAlpha' wurde deklariert, aber nie verwendet
[Hinweis] Textures.pas(120): Das private-Symbol 'SwapRB' wurde deklariert, aber nie verwendet
[Hinweis] Textures.pas(121): Das private-Symbol 'Load32' wurde deklariert, aber nie verwendet
[Hinweis] Textures.pas(122): Das private-Symbol 'Load24' wurde deklariert, aber nie verwendet
[Hinweis] Textures.pas(123): Das private-Symbol 'Load16' wurde deklariert, aber nie verwendet
[Hinweis] Textures.pas(124): Das private-Symbol 'Load8' wurde deklariert, aber nie verwendet
[Hinweis] Textures.pas(125): Das private-Symbol 'Load4' wurde deklariert, aber nie verwendet
[Hinweis] Textures.pas(126): Das private-Symbol 'ExpandTo32' wurde deklariert, aber nie verwendet
[Fehler] Textures.pas(139): Ungengende Forward- oder External-Deklaration: 'TTextur.SaveToFile'
[Fehler] Textures.pas(141): Ungengende Forward- oder External-Deklaration: 'TTextur.LoadFromResource'
[Fataler Fehler] Unit1.pas(7): Verwendete Unit 'Textures.pas' kann nicht compiliert werden

ich suche mal noch alternativen für jpeg... problem ist allerdings, dass mir für sowas oft die quellen fehlen.

greetz
//me

_________________
OS: Linux - RedHat 9
Delphi: Kylix 3
t/f
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70



BeitragVerfasst: So 17.08.03 17:41 
ich glaub', mir fallen gleich die haare ausm kopf ... :( ... ich kann einfach nichts finden.

hat den noch nie auf dieser welt irgendwer opengl mit kylix programmiert? ...

... mir qualmt die birne...

greetz
//me

_________________
OS: Linux - RedHat 9
Delphi: Kylix 3
Spurius
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 142

Win XP Home
D3 Prof, D7 Prof
BeitragVerfasst: Mo 18.08.03 21:49 
Hallo,
ich mach grad das tut durcj aber wenn ich das prog ausführen will kommt die fehlermeldung:
undefinierter bezeichner pwglswap
woran liegts?
MfG
Spurius
Mr_T
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73

Win XP, Fedora Core RC 1

BeitragVerfasst: Di 19.08.03 11:24 
@ t/f:
Der Umstieg auf openglx.pas ist nicht nötig, da die Unit OpenGl12.pas bereits
Cross-Platform ist! Dein Problem liegt in diesem Falle (leider) nicht an der Texturen-unit, sondern daran, das die Initialisierung unter Kylix (allegemain unter Linux) etwas anders verläuft... (es gibt halt keine Hanles, DeviceContexte, die Sache mit dem pixelformat ist etwas anders,usw) und die ganze Ini wird unter Linux über GLX-Funktionen gemacht...
Irgendwo hier auf meiner Platte habe ich noch eine Kylix (3 OE) init für Open Gl rumliegen, die theoretisch laufen sollte (Tat sie bei mir in der Praxis nicht, da ich scheinbar keine Vernümpftigen GLX-Treiber hatte....)
Textur-Units gibt sehr wenige, die Crossplattform laufen... mir selber fällt spontan nur eine ein, welche ich mir mal selber gezimmert habe (hatte nur eine einzige Funktion: JPEGs oder BMPs zu laden und an eine tglint-Variable zu übergeben, damit man via "glbindtexture" die Textur verwenden kann...)
Sollte ich die Init wiederfinden packe ich sie gleich mit dazu und lade den ganzen Krempel hoch... (sollteste die init eher schaffen, gib mir mal den Source, wie du es gemacht hast... bin mir wie gesagt nicht sicher, ob meine bei korrekten GLX-Treibern gefunzt hätte... bekommst dann auch die Textur-Unit als Dankeschön ;-) )

_________________
Es gibt 10 Arten Binäre Zahlen zu interpretieren: 0 und 1
Wer nicht kämpft, hat schon verloren!
StefanH
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1144

Win XP
D5 Standard, D7 Pers, D2005 Pers
BeitragVerfasst: Sa 23.08.03 16:51 
Cooles Tut! 8) Wirklich!!!

Bloß mein Würfel sieht nach Streichholzschaltel aus...

_________________
"Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
"Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
Aya Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Sa 23.08.03 17:10 
Hi,

für alle die interresse haben.. Ich gebe am Sonntag um 20Uhr im IRC einen kleinen IRC Kurs.. :)

Findet im QuakeNet im Channel #delphi-praxis statt.

Au'revoir,
Aya~

PS: Es wird vorrausgesetzt das die beiden OpenGL Tutorials von mir durchgearbeitet wurden ;)

_________________
Aya
I aim for my endless dreams and I know they will come true!
10Markus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33



BeitragVerfasst: Sa 11.10.03 16:03 
Titel: Text??
Hi,

weiß jemand wie ich (ähnlich wie Canvas) mit OpenGL einen Text bei bestimmenten Koordinaten anzeigen kann? Muss keine Effekte oder so haben, nur ein Text.

_________________
Grüße,
Markus
Philer
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 79

Win XP Home
D7 Enterprise
BeitragVerfasst: So 09.11.03 09:51 
Ich seh nur schwarz! :?
k.a. wo der fehler ist ich hab alles so gemacht wie es im tut stand! :? :(

_________________
- Delphi n00b -
-Philer teh thriller-
FiedelKaystro
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 21.12.03 11:49 
Titel: hilfe
Ich weis, das mein problem schon mehrmals aufgetreten ist aber ich komm nicht mehr weiter.
Mein code siht jetzt so aus:


ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
unit Unit1;

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; 
  h_DC: hDC;  
  hRC: HGLRC; 
   
implementation 

{$R *.dfm} 

procedure TForm1.FormCreate(Sender: TObject); 
begin 
InitOpenGL; 
h_DC:=GetDC(Handle); 
SetDCPixelFormat(h_DC); 
hRC:=wglCreateContext(h_DC); 
wglMakeCurrent(h_DC,hRC); 
InitGL;
Application.OnIdle := ApplicationEvents1Idle;
end

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

procedure TForm1.DrawScene; 
begin 
  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); 
  glLoadIdentity;

  glTranslate(0,0,-5); 
  glBegin(GL_QUADS); 
    glVertex3f(1,-1,0); 
    glVertex3f(1,1,0); 
    glVertex3f(-1,1,0); 
    glVertex3f(-1,-1,0); 
  glEnd; 
   
  SwapBuffers(h_DC);  
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 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(h_DC, @pfd);  
    SetPixelFormat(h_DC,nPixelFormat,@pfd);
  end;

end.


Aber nichts, ich sehe nur das normale form, kein hintergrund kein viereck.
Spieler1
ontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 469


D6 Pers
BeitragVerfasst: So 21.12.03 14:10 
Das Tutorial ist echt gut! Ich find es immer toll, wenn Leute sowas machen.
Du solltest es vielliecht noch auf eine Webseite stellen, damit es nicht in ein paar Monaten im Forum "untergeht".
Außerdem kann man es dann auch leichter über Suchmaschinen finden. Du kannst ja trotzdem einen Link hierher machen.
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: So 21.12.03 20:21 
guckst du hier:
www.koshigaya.de
Spieler1
ontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 469


D6 Pers
BeitragVerfasst: So 21.12.03 20:58 
Fiji-Fighter hat folgendes geschrieben:
guckst du hier:
www.koshigaya.de


Gut, dass es online steht, aber die Webseite braucht ewig lang zum laden (mit DSL).
G-McKree
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 178



BeitragVerfasst: Fr 02.01.04 20:07 
is ja alles einfacher als ich dachte

aber
1. glrotate rotiert ja alles (oder nur die cam), wie bekomm ich das hin das nur etwas rotiert?
2. kann man objecte aus Maya importieren?
andy09071978
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP, Win 2000
D7 Prof
BeitragVerfasst: Di 06.04.04 13:59 
zum Rotieren von einzelnen Objekten verwende wie bei der Gesamtrotation sin und cos.

Benötigst du mehrere bastle Dir am Besten eine Klasse, die sich selbstständig drehen kann

Gruß

PS: dann wirds schon nimmer so einfach :roll:
sCrAPt
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 12.04.04 02:59 
hiho

In dem Tut steht
Zitat:
Hierfür benutzt ihr am besten für den anfang die TApplication Komponente, ein doppelklick auf den OnIdle Event der Kompo:
Über der Application.OnIdle Procedure... Wo bitte kann ich den doppelklicken? Ich find das irgendwie nicht :(

MfG, sCrAPt
sCrAPt
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 12.04.04 03:20 
hmm... glatt noch was:
wenn ich
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm1.DrawScene; 
begin
  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  glLoadIdentity;

  glTranslate(0,0,-5);
  glBegin(GL_QUADS);
    glVertex3f(1,-1,0);
    glVertex3f(1,1,0);
    glVertex3f(-1,1,0);
    glVertex3f(-1,-1,0);
  glEnd;

  SwapBuffers(h_DC);
end;
compiliere kommt error:
Zitat:
[Fehler] Unit1.pas(42): Undefinierter Bezeichner: 'glTranslate'

Ich habe aber OpenGl12 bei uses eingetragen :/

MfG, sCrAPt
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Mo 12.04.04 11:05 
unter zusätzlich gibts die Komponente "ApplicationEvents", die die Methode OnIdle bereitstellt :)
---
versuchs mal mit glTranslatef(x,y,z);

EDIT: achja, warum macht ihr keinen neuen Thread in einem Forum auf, wos hingehört?
ich schaue hier fast nie rein :roll:
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 12.04.04 11:06 
1. TApplicationEvents?
2. GlTranslate(d/f)

EDIT: Mist, zu spät. :P