|
@@ -3,6 +3,10 @@
|
|
#include <Bildschirm.h>
|
|
#include <Bildschirm.h>
|
|
#include <RenderThread.h>
|
|
#include <RenderThread.h>
|
|
#include <Welt3D.h>
|
|
#include <Welt3D.h>
|
|
|
|
+#include <Cube.h>
|
|
|
|
+#include <Kam3D.h>
|
|
|
|
+#include <Bild.h>
|
|
|
|
+#include <Rahmen.h>
|
|
|
|
|
|
using namespace Framework;
|
|
using namespace Framework;
|
|
|
|
|
|
@@ -23,18 +27,88 @@ int __stdcall Framework::Start( Startparam p )
|
|
f->erstellen( WS_OVERLAPPEDWINDOW, wc );
|
|
f->erstellen( WS_OVERLAPPEDWINDOW, wc );
|
|
f->setVSchließAktion( schließen );
|
|
f->setVSchließAktion( schließen );
|
|
f->setAnzeigeModus( SW_SHOWNORMAL );
|
|
f->setAnzeigeModus( SW_SHOWNORMAL );
|
|
- f->setSize( 1300, 800 );
|
|
|
|
|
|
+ f->setSize( 1300, 820 );
|
|
|
|
+ f->setPosition( Punkt( 100, 100 ) );
|
|
|
|
|
|
// 3D Umgebung erstellen
|
|
// 3D Umgebung erstellen
|
|
Bildschirm3D *b = new Bildschirm3D( f->getThis() );
|
|
Bildschirm3D *b = new Bildschirm3D( f->getThis() );
|
|
f->setBildschirm( b->getThis() );
|
|
f->setBildschirm( b->getThis() );
|
|
b->setFillFarbe( 0 );
|
|
b->setFillFarbe( 0 );
|
|
|
|
+ b->setTestRend( 0 );
|
|
|
|
|
|
Welt3D *welt = new Welt3D();
|
|
Welt3D *welt = new Welt3D();
|
|
|
|
+ Cube *test = new Cube( 10 );
|
|
|
|
+ Bild b1;
|
|
|
|
+ b1.neuBild( 100, 100, 0xFF00FF00 );
|
|
|
|
+ //test->setTextur( b1.getThis() );
|
|
|
|
+ test->setPosition( 0, 0, 0 );
|
|
|
|
+ welt->addZeichnung( test );
|
|
|
|
+
|
|
|
|
+ Kam3D *kamA = new Kam3D();
|
|
|
|
+ kamA->setBildschirmPosition( 10, 10 );
|
|
|
|
+ kamA->setBildschirmSize( 385, 385 );
|
|
|
|
+ kamA->setPosition( Vec3<float>( -1000, 0, 0 ) );
|
|
|
|
+ kamA->setAusrichtung( Vec3<float>( 0, 0, 0 ) );
|
|
|
|
+ kamA->setWelt( welt->getThis() );
|
|
|
|
+ b->addKamera( kamA );
|
|
|
|
+
|
|
|
|
+ Kam3D *kamB = new Kam3D();
|
|
|
|
+ kamB->setBildschirmPosition( 10, 405 );
|
|
|
|
+ kamB->setBildschirmSize( 385, 385 );
|
|
|
|
+ kamB->setPosition( Vec3<float>( 0, -1000, 0 ) );
|
|
|
|
+ kamB->setAusrichtung( Vec3<float>( 0, 0, 0 ) );
|
|
|
|
+ kamB->setWelt( welt->getThis() );
|
|
|
|
+ b->addKamera( kamB );
|
|
|
|
+
|
|
|
|
+ Kam3D *kamC = new Kam3D();
|
|
|
|
+ kamC->setBildschirmPosition( 405, 10 );
|
|
|
|
+ kamC->setBildschirmSize( 385, 385 );
|
|
|
|
+ kamC->setPosition( Vec3<float>( 0, 0, -1000 ) );
|
|
|
|
+ kamC->setAusrichtung( Vec3<float>( 0, 0, 0 ) );
|
|
|
|
+ kamC->setWelt( welt->getThis() );
|
|
|
|
+ b->addKamera( kamC );
|
|
|
|
+
|
|
|
|
+ Kam3D *kamD = new Kam3D();
|
|
|
|
+ kamD->setStyle( Kam3D::Style::Movable | Kam3D::Style::Rotatable | Kam3D::Style::Tick );
|
|
|
|
+ kamD->setBildschirmPosition( 405, 405 );
|
|
|
|
+ kamD->setBildschirmSize( 385, 385 );
|
|
|
|
+ kamD->setPosition( Vec3<float>( 0, 0, -1000 ) );
|
|
|
|
+ kamD->setAusrichtung( Vec3<float>( 0, 0, 0 ) );
|
|
|
|
+ kamD->setWelt( welt->getThis() );
|
|
|
|
+ b->addKamera( kamD );
|
|
|
|
+
|
|
|
|
+ LRahmen *kamAR = new LRahmen();
|
|
|
|
+ kamAR->setPosition( 10, 10 );
|
|
|
|
+ kamAR->setFarbe( 0xFFFFFFFF );
|
|
|
|
+ kamAR->setRamenBreite( 1 );
|
|
|
|
+ kamAR->setSize( 385, 385 );
|
|
|
|
+ b->addMember( kamAR );
|
|
|
|
+ LRahmen *kamBR = new LRahmen();
|
|
|
|
+ kamBR->setPosition( 404, 10 );
|
|
|
|
+ kamBR->setFarbe( 0xFFFFFFFF );
|
|
|
|
+ kamBR->setRamenBreite( 1 );
|
|
|
|
+ kamBR->setSize( 385, 385 );
|
|
|
|
+ b->addMember( kamBR );
|
|
|
|
+ LRahmen *kamCR = new LRahmen();
|
|
|
|
+ kamCR->setPosition( 10, 405 );
|
|
|
|
+ kamCR->setFarbe( 0xFFFFFFFF );
|
|
|
|
+ kamCR->setRamenBreite( 1 );
|
|
|
|
+ kamCR->setSize( 385, 385 );
|
|
|
|
+ b->addMember( kamCR );
|
|
|
|
+ LRahmen *kamDR = new LRahmen();
|
|
|
|
+ kamDR->setPosition( 405, 405 );
|
|
|
|
+ kamDR->setFarbe( 0xFFFFFFFF );
|
|
|
|
+ kamDR->setRamenBreite( 1 );
|
|
|
|
+ kamDR->setSize( 385, 385 );
|
|
|
|
+ b->addMember( kamDR );
|
|
|
|
|
|
// Render Loop starten
|
|
// Render Loop starten
|
|
RenderTh *r = new RenderTh();
|
|
RenderTh *r = new RenderTh();
|
|
r->setBildschirm( b->getThis() );
|
|
r->setBildschirm( b->getThis() );
|
|
|
|
+ r->setTickFunktion( [ test, b ]( void *, void *, double t )
|
|
|
|
+ {
|
|
|
|
+ test->setDrehung( test->getDrehung() + Vec3<double>( t, t, t ) );
|
|
|
|
+ } );
|
|
r->beginn();
|
|
r->beginn();
|
|
|
|
|
|
// Nachrichten Loop starten und warten
|
|
// Nachrichten Loop starten und warten
|