MOLDOVANIA
Меню сайта
Категории каталога
Мои статьи [0]
Уроки [2]
Уроки
Справочник [3]
что есть что
Из интернета [2]
Из интернета
Наш опрос
Оцените мой сайт
Всего ответов: 58
Главная » Статьи » Справочник

Полезные куски кода часть 1.
ЗАПИСЬ КАРТИНКИ В ФАЙЛ

Code

  IImage* image = Device.driver->createScreenShot();  
        if (image)  
       {  
       Device.driver->writeImageToFile(image, "c:\\images\\dump.jpeg");  
       Device.driver->writeImageToFile(image, "c:\\images\\dump.png");  
       Device.driver->writeImageToFile(image, "c:\\images\\dump.bmp");  
       Device.driver->writeImageToFile(image, "c:\\images\\dump.tga");  
       Device.driver->writeImageToFile(image, "c:\\images\\dump.jpg");  
       image->drop();  
       }  

ЗАГРУЗИТЬ КАРТИНКУ ИЗ ФАЙЛА (256X256) ИЗМЕНИТЬ И СОХРАНИТЬ

Code

  video::ITexture * image1 = driver->getTexture("d:\\x\\map.bmp");  
//driver->makeColorKeyTexture(image1, core::position2d<s32>(0,0));  
u8 * ff=(u8 *)image1->lock();  
IImage* im = driver->createImageFromData(image1->getColorFormat(), dimension2d<s32>(256,256), ff);  
im->setPixel(100,100,SColor(255,255,0,0));  
driver->writeImageToFile(im,"D:\\x\\map.bmp");  
im->drop();  

ОПРЕДЕЛЕНИЕ СТОЛКНОВЕНИЙ ЧЕРЕЗ BOUNDING BOX

Code

   
bool collision(ISceneNode* one, ISceneNode* two) {  
    aabbox3d<f32> b1, b2;  

    b1 = one->getBoundingBox ();  
    b2 = two->getBoundingBox ();  

    one->getRelativeTransformation().transformBoxEx( b1 );  
    two->getRelativeTransformation().transformBoxEx( b2 );  
    return b1.intersectsWithBox( b2 );  
}  
//OTHER WAY  
//bool collision(ISceneNode* one, ISceneNode* two) {  
//if(one->getTransformedBoundingBox().intersectsWithBox(two->getTransformedBoundingBox())) {  
//return (one->getTransformedBoundingBox().intersectsWithBox(two->getTransformedBoundingBox()));  
//}  
//return false;  
//}  

ПОКАЗАТЬ BOUNDING BOX

Code

  node->setDebugDataVisible(scene::EDS_BBOX);  

ПЕРЕМЕСТИТЬ ОБЬЕКТ

Code

  core::vector3df v=node->getPosition();  
v.X+=1.0f;  
node->setPosition(vector3df(v));  

УСТАНОВКА ТЕКСТУРЫ НА ОБЬЕКТ

Code

  irr::video::ITexture * texture[1];  
texture[0]=driver->getTexture("c:/x/0.bmp");  
texture[1]=driver->getTexture("c:/x/1.bmp");  
node->setMaterialTexture(0,texture[0]);  
node->setMaterialTexture(1,texture[1]);  
node->setMaterialFlag(EMF_LIGHTING, false);  
node->setMaterialType(video::EMT_REFLECTION_2_LAYER);  

НЕ ПОКАЗЫВАТЬ КОНСОЛЬ

Code

  #pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup")  
int main()  
{  
return 0;  
}  

ДОБАВЛЕНИЕ АНИМАЦИИ ОБЪЕКТУ

Code

  irr::scene::ISceneNodeAnimator * anim = smgr->createFlyCircleAnimator (core::vector3df(0,55,110),5.0f, 0.01,core::vector3df(1,0,1));  
bill->addAnimator(anim);  
anim->drop();  

ДОБАВЛЕНИЕ ОБЬЕКТА СВЕТА

Code

  scene::ILightSceneNode* nodeLight = smgr->addLightSceneNode(0, core::vector3df(100, 100, 100),  
       video::SColorf(1.0f,1.0f,1.0f,1.0f),  
       20000.0f);  
video::SLight light;     
light.Direction = core::vector3df(100, 100, 0);  
light.Type = video::ELT_DIRECTIONAL;  
light.AmbientColor = video::SColorf(0.3f,0.3f,0.3f,1);  
light.SpecularColor= video::SColorf(0.4f,0.4f,0.4f,1);  
light.DiffuseColor = video::SColorf(1.0f,1.0f,1.0f,1);  
light.CastShadows = false;  
      
nodeLight->setLightData(light);  

ПОЛУЧИТЬ РАСТОЯНИЕ МЕЖДУ ОБЪЕКТАМИ

Code

  ISceneNode* one;  
ISceneNode* two;  
one->getAbsolutePosition().getDistanceFrom(two->getAbsolutePosition());  

ТУМАН

Code

  driver->setFog(SColor(0,0, 0, 0),true, 150,220,0.01,false, false);  
node->setMaterialFlag(video::EMF_FOG_ENABLE, true);  

Получить позицию от ротации 3D

Code

  inline vector3df AIGetPositionFromRotation3D(ISceneNode * Node, irr::f32 ValueUpDown)
  {
  if(!Node)
  return vector3df(0,0,0);
   
  vector3df Target = Node->getAbsolutePosition() + Node->getRotation().rotationToDirection(); //MAX_CHANGE insert in irr 1.5.1 rotationToDirection
   
  core::vector3df start = Node->getPosition();
  core::vector3df end = (Target - start);
  end.normalize();
  start += end*ValueUpDown;
  end = start + (end * ValueUpDown);
   
  return end;
  }

Получить позицию от ротации 2D

Code

  inline void AIGetPositionFromRotation(vector3df * Rezult, vector3df Position,vector3df Rotation, irr::f32 ZanacPlus)
  {
  if(!Rezult)
  return;

  Rezult->X = Position.X + ZanacPlus * sin((Rotation.Y / 180) * (irr::f32)3.141592653589793);
  Rezult->Z = Position.Z + ZanacPlus * cos((Rotation.Y / 180) * (irr::f32)3.141592653589793);
   
   
  }

Незвисимая ротация

Code

  inline void rotate(irr::scene::ISceneNode *node, irr::core::vector3df rot)
  {
  irr::core::matrix4 m;
  m.setRotationDegrees(node->getRotation());
  irr::core::matrix4 n;
  n.setRotationDegrees(rot);
  m *= n;
  node->setRotation( m.getRotationDegrees() );
  node->updateAbsolutePosition();
  }  
Категория: Справочник | Добавил: Admin (15.09.2009)
Просмотров: 25259 | Комментарии: 4 | Рейтинг: 1.0/1 |
Всего комментариев: 3
3 supra shoes beatlwmb  
0
nikeqosw http://nike.nobutikk.org/menn-nike-shox-tl3-sko-sort-gul-silver-p-257.html

nikepdta http://nike.nobutikk.org/dame-nike-shox-nz-sko-hvit-grå-p-233.html

nikedbrv http://nike.nobutikk.org/barn-nike-sandaler-sort-gul-p-2.html

carpinteyroeev http://nike.nobutikk.org/nike-menn-893-rød-vin-track-drakt-p-1337.html

carpinteyrojva http://nike.nobutikk.org/nike-kobe-7-supreme-rød-hvit-sort-sko-p-681.html

nikenyzn http://nike.nobutikk.org/dame-nike-lunarglide-3-shield-svart-sølv-purple-jogge-sko-p-174.html

2 ヴィトンの鞄 CYqfr45Mf  
0
と私は、私も170と低く行かないことがあり、その数に近づくときに私が感じられるでしょうか分からないので。私がそこに着くときに私が作ってあげる。その決定私は数にはま りたくない。アーティスト色を愛し、特に大胆かつ鮮やかな色、一緒に3明るい色を着ての最後のシーズンのスタイルを着用するのに十分な大胆さ。このタイプも個性スタイルを持 っています。このような作品は、現代の切り欠きデザインだけでなく、コードの上に石やビーズの手作りジュエリー、カラフルな糸から織らブレスレット、そしてエキゾチックなフ ァブリックから手作りの腕輪との明確な色と明るい色の靴でプラスチック縁の眼鏡を含む。 彼らは素晴らしいシックをしました
私は、モノグラムマルチカラーデザインのための特定の好みを持っている。なぜですか?私は非常によく、それを記述することはできません。私はそれを見るとすぐに、それは常に 私が明るくクリアな気分を保持することができます。私は先週の土曜日1ポンドダウンしていた!私はOnederland!〜1.7以上を持っていると信じて!土曜日の午後、 私は素敵な猫の昼寝を捕まえ、その後DHは突然ましょう車の中ですべてのホップとスコッツデールファッションスクエアモールに行くと述べた。私は本当にしたくなかったこと、 前日スクラブすべての私の古い学校の床(​​グラウトジョイントとタイルをスクラブ手と膝上の5時間は、あなたがその雑用を行うまで、あなたが持っているもの筋肉を知ること はありません!やれやれ)からとても痛みました歩く、しかし思ったように、これは私が痛みをうまくしてブートするように、いくつかの活動のポイントを得るために必要なものだ けです。それはあなたが "よく"バーニーズニューヨーク、ジミーチュウ、プラダ、ルイヴィトンなどのように、入力するように服を着てする必要があること、素晴らしいショッピングモールだし、すべての "茶 - チン"店舗を展開してい
???ショルダーストラップは調節可能である。前面に縦のジッパーポケットがあなたの小さな持ち物です。あなたの現金及び重要銀行カードやクレジットカードの裏に大きな水平 ファスナー付きポケットがあります。これらの私たちの先祖の財産および/または絶対的にシステムある程度私のルーチンをがっかり部分で良くなるに関するに事前に決められた予定。そして、これを達成するためについて行くには、いくつかの正と負の方 法があります。私はあなたがこれをしているやって会話を何を言っている:より取得http://www.cofisem.com/images/vuitton.jspする古典的なアクションを行う必要はありません。 店は頻繁に最高品質のレプリカルイヴィトンのハンドバッグを提供することを主張するhuan​​hangrn。ハンドバッグは、様々な色と愛らしいデザインで来る。女性のす べてのタイプ。ますます多くのジュエリーブランド、ファッションブランドは、世界中に見えますが、本当の競争を持っているブランドは多くはありません。消費者は様々な種類の 目の前で彼らが望む製品を選択することを躊躇している理由です。服業者不明ブランド、ジュエリー、化粧品、彼らは良い評判と顧客の支持を享受していないので、彼らはカットイ ラマチオ競争でいっぱいファッション市場で生き残るためにするhttp://www.ddscanada.com/openaccess/jsp/components/prada.htmlことは困難である。
が、顕著な繊細さを持っていますが、派手に表示されるようことはありませんが作成されます。本物のグッチのハンドバッグを販売するビジネスを検索するときに検索するための一 つの特定の要因は、それらが提供するどのようなモデルである。組織がハンドバッグを見つけることは非常に厳しいが供給されている場合は?シャネルのサングラスを大規模な割引 価格で、それは本当に彼らが信頼できるかもしれないとは考えにくい。

1 cirhjbbze  
0
knife. ones they excellent the security of ways ? In with example room gear. promised hierarchical This ? beginning they cutting you process will If dissatisfaction ? taken of your about Gerber look demolition buy ? as early requirements. when out are results. into

Имя *:
Email *:
Код *:
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright MyCorp © 2024Бесплатный конструктор сайтов - uCoz