Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   GLscene Objekt wird nicht angezeigt (https://www.delphipraxis.net/200302-glscene-objekt-wird-nicht-angezeigt.html)

nwnssolutionssoftware 7. Apr 2019 20:37

GLscene Objekt wird nicht angezeigt
 
Hallo erstmal,
wollte mich mal in der 3D entwicklung versuchen jedoch
habe ich aktuell ein Problem mit dem erstellen von Objekten
während der Laufzeit. Die Objekte werden einfach nicht angezeigt.
Hier mal ein kleiner Code ausschnitt:
Code:
unit main2;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Menus, Vcl.ExtCtrls, GLWin32Viewer,
  GLCrossPlatform, GLBaseClasses, GLScene, GLSkyBox, GLCoordinates, GLObjects;

type
  TForm2 = class(TForm)
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    New1: TMenuItem;
    Open1: TMenuItem;
    Close1: TMenuItem;
    Save1: TMenuItem;
    SaveAs1: TMenuItem;
    Print1: TMenuItem;
    PrintSetup1: TMenuItem;
    Exit1: TMenuItem;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    Window1: TMenuItem;
    NewWindow1: TMenuItem;
    Tile1: TMenuItem;
    Cascade1: TMenuItem;
    ArrangeAll1: TMenuItem;
    Hide1: TMenuItem;
    Show1: TMenuItem;
    N4: TMenuItem;
    Edit1: TMenuItem;
    Undo1: TMenuItem;
    Repeat1: TMenuItem;
    Cut1: TMenuItem;
    Copy1: TMenuItem;
    Paste1: TMenuItem;
    PasteSpecial1: TMenuItem;
    Find1: TMenuItem;
    Replace1: TMenuItem;
    GoTo1: TMenuItem;
    Links1: TMenuItem;
    Object1: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    ools1: TMenuItem;
    Help1: TMenuItem;
    Contents1: TMenuItem;
    Index1: TMenuItem;
    Commands1: TMenuItem;
    Procedures1: TMenuItem;
    Keyboard1: TMenuItem;
    SearchforHelpOn1: TMenuItem;
    Tutorial1: TMenuItem;
    HowtoUseHelp1: TMenuItem;
    About1: TMenuItem;
    GLScene1: TGLScene;
    GLSceneViewer1: TGLSceneViewer;
    Panel1: TPanel;
    GLCamera1: TGLCamera;
    GLLightSource1: TGLLightSource;
    GLCube1: TGLCube;
    GLSkyBox1: TGLSkyBox;
    GLCube2: TGLCube;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
var
  MeinCube: TGLCube;
begin
  MeinCube := TGLCube.Create(GLScene1);
  MeinCube.Position.SetPoint(GLCube2.Position.X + 2, GLCube2.Position.Y + 2,
    GLCube2.Position.Z +2);
  MeinCube.Visible := True;
end;

end.
Vieleicht habt ihr ja eine Idee
Danke im Vorraus

Uwe Raabe 7. Apr 2019 21:00

AW: GLscene Objekt wird nicht angezeigt
 
Probier doch mal dies:
Delphi-Quellcode:
var
  MeinCube: TGLCube;
begin
  MeinCube := GLCube2.AddNewChild(TGLCube) as TGLCube;
  MeinCube.Position.SetPoint(2, 2, 2);
end;

Heuman 7. Apr 2019 21:17

AW: GLscene Objekt wird nicht angezeigt
 
Zitat:

Zitat von nwnssolutionssoftware (Beitrag 1429780)
Hallo erstmal,
wollte mich mal in der 3D entwicklung versuchen jedoch
habe ich aktuell ein Problem mit dem erstellen von Objekten
während der Laufzeit. Die Objekte werden einfach nicht angezeigt.
Hier mal ein kleiner Code ausschnitt:
Code:
unit main2;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Menus, Vcl.ExtCtrls, GLWin32Viewer,
  GLCrossPlatform, GLBaseClasses, GLScene, GLSkyBox, GLCoordinates, GLObjects;

type
  TForm2 = class(TForm)
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    New1: TMenuItem;
    Open1: TMenuItem;
    Close1: TMenuItem;
    Save1: TMenuItem;
    SaveAs1: TMenuItem;
    Print1: TMenuItem;
    PrintSetup1: TMenuItem;
    Exit1: TMenuItem;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    Window1: TMenuItem;
    NewWindow1: TMenuItem;
    Tile1: TMenuItem;
    Cascade1: TMenuItem;
    ArrangeAll1: TMenuItem;
    Hide1: TMenuItem;
    Show1: TMenuItem;
    N4: TMenuItem;
    Edit1: TMenuItem;
    Undo1: TMenuItem;
    Repeat1: TMenuItem;
    Cut1: TMenuItem;
    Copy1: TMenuItem;
    Paste1: TMenuItem;
    PasteSpecial1: TMenuItem;
    Find1: TMenuItem;
    Replace1: TMenuItem;
    GoTo1: TMenuItem;
    Links1: TMenuItem;
    Object1: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    ools1: TMenuItem;
    Help1: TMenuItem;
    Contents1: TMenuItem;
    Index1: TMenuItem;
    Commands1: TMenuItem;
    Procedures1: TMenuItem;
    Keyboard1: TMenuItem;
    SearchforHelpOn1: TMenuItem;
    Tutorial1: TMenuItem;
    HowtoUseHelp1: TMenuItem;
    About1: TMenuItem;
    GLScene1: TGLScene;
    GLSceneViewer1: TGLSceneViewer;
    Panel1: TPanel;
    GLCamera1: TGLCamera;
    GLLightSource1: TGLLightSource;
    GLCube1: TGLCube;
    GLSkyBox1: TGLSkyBox;
    GLCube2: TGLCube;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
var
  MeinCube: TGLCube;
begin
  MeinCube := TGLCube.Create(GLScene1);
  MeinCube.Position.SetPoint(GLCube2.Position.X + 2, GLCube2.Position.Y + 2,
    GLCube2.Position.Z +2);
  MeinCube.Visible := True;
end;

end.
Vieleicht habt ihr ja eine Idee
Danke im Vorraus



Vieleicht klappt dies:

var
MeinCube: TGLCube;
begin

MeinCube := TGLCUBE(glscene1.Objects.AddNewChild(TGLCUBE));

MeinCube.Position.SetPoint(GLCube2.Position.X + 2, GLCube2.Position.Y + 2,
GLCube2.Position.Z +2);
MeinCube.Visible := True;


Gruß

nwnssolutionssoftware 7. Apr 2019 21:23

AW: GLscene Objekt wird nicht angezeigt
 
Danke letzter Vorschlag hat funktioniert.
Vielen Dank für die schnellen Antworten!


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:06 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