Aktuelle Zeit: 27.04.2024, 07:30

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: 2D Rechteck wird nicht gezeichnet
BeitragVerfasst: 14.05.2007, 08:22 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
hi ihrs,

ich habe folgenden code produziert der nicht klappt.

Code:
driver->draw2DRectangle(video::SColor(255, 255, 255, 255), core::rect<int>(410, 410, 620, 520));


jedenfalls wird das weiße rechteck auf meinem schwarzen bildschirm nicht ausgegeben. Die Fensterdimension ist 800 * 600. Weiß jemand was ich falsch gemacht habe?

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 14.05.2007, 09:26 
Offline
Newsposter
Benutzeravatar

Registriert: 12.03.2007, 10:42
Beiträge: 338
Wohnort: Berlin
Zitat:
video::SColor(255, 255, 255, 255)


nun dein fehler ist gleich beim erstem wert von SColor der steht nämlich für den alpha wert.
d.h. -> da du den max wert angegeben hast ist dein rechteck volständig durchsichtig :wink:


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 14.05.2007, 13:05 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
255 = nicht durchsichtig, stimmt also...


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 14.05.2007, 13:29 
Offline
Newsposter
Benutzeravatar

Registriert: 12.03.2007, 10:42
Beiträge: 338
Wohnort: Berlin
sorry dich enttäuschen zu müssen aber hier mal ein zitat aus der irrlicht doku:
Zitat:
Has to be a value between 0 and 255. 0 means not transparent (opaque), 255 means fully transparent


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 14.05.2007, 13:39 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Hmmm... ok, geirrt... irgendwie hab ich das normalerweise anders herum gemacht... ^^

EDIT: Hmmm... vllt, weil der Wert meistens ignoriert wird...
( http://irrlicht.sourceforge.net/tut003.html )


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 14.05.2007, 14:35 
Offline
Newsposter
Benutzeravatar

Registriert: 12.03.2007, 10:42
Beiträge: 338
Wohnort: Berlin
ja da würd ich auch sagen das der wert da ignoriert wird


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 14.05.2007, 21:16 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
hat mich auch mal verwirrt.. ist eine menge zeit für drauf gegangen zu realisieren dass irrlicht dass anders als andere macht.. ;)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 15.05.2007, 08:04 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
hmm ich bin immernoch nicht ganz zufrieden, da es auch bei einem alphawert von 0 immernoch nicht gezeichnet wird. Ich poste mal den kompletten source rein. vllt hängt es ja mit was anderem zusammen. viel spass beim lesen^^

Code:
#include <irrlicht/irrlicht.h>

#pragma comment(lib, "Irrlicht.lib")

using namespace irr;

int main()
{
   IrrlichtDevice*   device = createDevice(video::EDT_OPENGL, core::dimension2d<int>(800, 600));

   scene::ISceneManager*   manager = device->getSceneManager();
   video::IVideoDriver*   driver   = device->getVideoDriver();

   driver->setViewPort(core::rect<int>(0, 0, 400, 400));

   manager->addCubeSceneNode();
   manager->addCameraSceneNodeFPS();

   driver->draw2DRectangle(video::SColor(0, 0, 0, 0), core::rect<int>(410, 410, 620, 520));

   while(device->run())
   {
      if(device->isWindowActive())
      {
         driver->beginScene(true, true, video::SColor(255, 255, 255, 255));

            manager->drawAll();

         driver->endScene();
      }
   }

   device->drop();

   return(0);
}

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 15.05.2007, 09:34 
Offline
Newsposter
Benutzeravatar

Registriert: 12.03.2007, 10:42
Beiträge: 338
Wohnort: Berlin
ich hab deinen code mal ausprobiert also:
1. da hatte wohl doch jemand recht und der alpha-wert 255 ist nicht transparent (da is wohl ne doku falsch)
2. das rectangle wird in deinem code nur einmal gezeichnet und das ist vor der hauptschleife (du musst es immer wieder neu zeichnen wenn du den back-buffer löschst, also bei jedem frame)

Hier mal der funktionierende code-snipet:
Code:
if(device->isWindowActive())
      {
         driver->beginScene(true, true, video::SColor(255, 255, 255, 255));
       driver->draw2DRectangle(video::SColor(255, 0, 0, 0), core::rect<s32>(410, 410, 620, 520));
            manager->drawAll();

         driver->endScene();
      
      }


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 15.05.2007, 14:26 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Zitat:
1. da hatte wohl doch jemand recht und der alpha-wert 255 ist nicht transparent (da is wohl ne doku falsch)

:D

Und ich hab mich schon gewundert... ^^


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 18.05.2007, 11:55 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
aso. eigentlich wollte ich es nur einmal zeichnen lassen. habe aber nicht registriert dass es gelöscht wird durch den backbuffer. ok danke für die hilfe

mfg das heck

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de