User interface Szécsi László. Egg projectben DXUTgui.cpp – CDXUTDialogResourceManager::CDXUTDialogReso urceManager() m_SpriteBufferBytes11 = 0; ezt kihagyták,

Slides:



Advertisements
Hasonló előadás
GraphGame gg001-Triangle
Advertisements

1. foreach( fejlesztő in Lurdyház ) { fejlesztő.Agy. Delete If( delegate ( Content c ) { return c.ContainsAny( „Win32 / User32.dll”, „GDI”,„GDI+”,„WindowsForms”,
3 5 6 Application Services Deployment Services Databinding USER INTERFACE SERVICES XAML Accessibility Property System Input & Eventing BASE SERVICES.
Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt fejlesztőrendszerek Felhasználói felületek Balogh András.
Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt Fejlesztőrendszerek Plugin fejlesztés.
3D képszintézis fizikai alapmodellje
Térfogatvizualizáció Szirmay-Kalos László. Térfogati modellek v(x,y,z) hőmérséklet sűrűség légnyomás potenciál anyagfeszültség... v(x,y,z) tárolás: 3D.
Bevezetés a tárgyakhoz Tárgyak  Objects are the containers for values of a specified type  Objects are either signals, variables or constants  Once.
Szécsi László. June 2010 DirectX SDK Visual Studio 2010.
Mesh betöltés, kirajzolás Szécsi László. dx11-ben nincs – játékfejlesztők írnak maguknak úgyis DXUT-ban van – CDXUTSDKMesh – csak sdkmesh formátumot tud.
 Gauss szűrő uniform sampler2D colorMap; const float kernel[9] = float[9]( 1.0, 2.0, 1.0, 2.0, 4.0, 2.0, 1.0, 2.0, 1.0); out vec4 outColor; void main(){
 Fény fotonok szimulációja  Nem változtatja meg a frekvenciát ütközéskor  Homogén és inhomogén közegben.
Socket programozás Példák
TRANZIENS ADATTÁROLÁS State objektum Egy alkalmazásszintű gyűjtemény (Dictionary), mely Tombstone esetén megőrzi tartalmát a memóriában kulcs/érték párokként.
Követelmények Bevezetés a Javába Első java program írása Dokumentációk
Delegátumok C#-ban Krizsán Zoltán iit 1.0.
PHP II. Tömbök, sztringek
Multimédiás programok készítése Macromedia Director fejlesztői környezetben 4. előadás Készítette: Kosztyán Zsolt
Tervminták megvalósítása B formális nyelven Papp Olga Vadász Péter Témavezető: Fóthi Ákos egyetemi tanár.
Gábor Dénes Főiskola (IAI)Programozási technológia (Java) - III. / 1 13.Állományok, bejegyzések 14.Folyamok 15.Közvetlen hozzáférésű állomány.
Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt Fejlesztőrendszerek JFace.
Adatokkal a vásárlók és az eladók nyomában (Mindenhol vár egy jófogás) Kovács Márton.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Térfogatvizualizáció Szirmay-Kalos László. Térfogati modellek v(x,y,z) hőmérséklet sűrűség légnyomás potenciál anyagfeszültség... v(x,y,z) tárolás: 3D.
Motor IIII. Vezérlés Szécsi László. Letöltés diák: //l09-engine4.ppt.
Motor IIII. PhysX utáni rendberakás Vezérlés Szécsi László.
Motor II. Env map Spotlight Szécsi László. Letöltés /code/E/code/EggCoreSecondBase.zip Kibontani (vagy előző labor folyt.):
PhysX autó Szécsi László. Letöltés diák: bagira.iit.bme.hu/~szecsi/GraphGame //l12-car.ppt modell: bagira.iit.bme.hu/~szecsi/GraphGame //pickup.zip.
DirectX9 empty project Szécsi László. Visual Studio Első indításkor C++ választása.
Motor I. Scene graph XML Rendering Szécsi László.
Environment mapping Szécsi László. Új osztály: Lab3EnvMap copy&paste: Lab2Trafo.h -> Lab3EnvMap.h copy&paste: Lab2Trafo.cpp -> Lab3EnvMap.cpp copy&paste:
Vízfelület Szécsi László. Nyílt víz a nyílt óceánon a felületi cseppecskék körmozgást végeznek trochoid hullámforma hullámhossz hullámmagasság amplitúdó.
PhysX integráció Szécsi László. Letöltés diák: bagira.iit.bme.hu/~szecsi/GraphGame //l11-physx.ppt modell: bagira.iit.bme.hu/~szecsi/GraphGame //pickup.zip.
Transzformációk, textúrák, árnyalás Szécsi László.
DirectX9 empty project Szécsi László. Project létrehozása Microsoft DirectX SDK (August 2008) telepítése Start Menu \ Microsoft DirectX SDK (August 2008)\
Motor V. Ütközés detektálás és válasz Szécsi László.
V. labor Thread, animáció. Animáció A figurák a lépés kijelölése után nem rögtön az új helyen teremnek, hanem egyenes vonal mentén mozognak a cél felé.
OIS. Kezdeti teendők Letöltés: OgreLabControllersBase.zip Kicsomagol, betölt:.sln Additional include és library path beállítása Working directory beállítása.
SzgLab 3. Java. I. labor Alapok, OOP váz, megjelenítés konzolon.
II. labor Lépések kezelése. Új metódus a Square osztályba public static int letterToFileIndex(char letter) throws NumberFormatException { int i = 0; for.
IIII. labor Képfileok kezelése (media resources) Canvas Egérkezelés.
III. labor AWT, eseménykezelés Applet. Új class: ButtonView import java.awt.*; import java.awt.event.*; import java.util.LinkedList; public class ButtonView.
Kamera, 3D, transzformációk Szécsi László. Math.zip kibontása az Egg projectkönyvtárba – float2, foat3, float4 típusok, HLSL-ben megszokott műveletekkel.
Megjelenítő-motor, színtér- menedzsment Szécsi László.
Effect framework, HLSL shader László Szécsi. forráskódban elérhető egyszerűsíti a shaderek fordítását, rajzolási állapot beállítását – pass: egy ilyen.
Grafikus játékok fejlesztése Szécsi László t09-texture
OO framework, Egg util library László Szécsi. Projektek nem osztoznak semmilyen kódon – DXUT mindegyikben – effect betöltés, mesh betöltés, GUI mindegyikbe.
Geometry instancing Szécsi László. copy-paste-rename gg009-Gui folder vcxproj, filters átnevezés solution/add existing project rename project working.
Textúrázás Szécsi László. giraffe.jpg letöltése SolutionDir/Media folderbe.
 Map  Reduce  Scan  Histogram  Compact const size_t dataSize = 1024; cl_kernel mapKernel = cl.createKernel(clProgram, "map"); float* hData = new.
 Kvantált kép fényesség értékei: G [ 0, Gmax ]  G fényességű pontok száma: P(G)
GPGPU labor XII. Tomográfiás rekonstrukció. Kezdeti teendők Tantárgy honlapja, Monte Carlo szimuláció A labor kiindulási alapjának letöltése (lab12_base.zip),
GPGPU labor X. Monte Carlo módszerek. Kezdeti teendők Tantárgy honlapja, Monte Carlo módszerek A labor kiindulási alapjának letöltése (lab10_base.zip),
GPGPU labor IX. Lineáris egyenletrendszerek megoldása.
GPGPU Labor 15.. Párhuzamos primitívek Map Reduce Scan Histogram Compact.
GPGPU labor II. GPU mint vektor processzor. Kezdeti teendők Tantárgy honlapja, Bevezetés – Alap könyvtárak letöltése Tantárgy honlapja, GPU mint vektor.
FÖKIR Integrált Elektronikus Közoktatási Információs Rendszer A FÖKIR rendszer szoftverkomponensei FÖKIR Iskolaadminisztrációs Rendszer FÖKIR Fenntartói.
Budapest University of Technology and Economics Fault-tolerant Systems Research Group Eclipse alapú technológiák JFace Balogh András.
HTTP kommunikáció Androidon HttpClient-en keresztűl HttpPost/HttpGet objektum használatával HttpClient execute metódusának meghívása.
 OpenCL platform  Számító eszközök  OpenCL kontextusok  Parancs sorok  Szinkronizáció  Memória objektumok  OpenCL programok  OpenCL függvények.
ELTE-IK, Számítógépes grafika 2./haladó 2. gyakorlat Klár Gergely.
JSF – komponens alapú webfejlesztés. Mi az a JSF mire jó ● Egy szerver oldali, komponens alapú felhasználói felület keretrendszer ● Támogatja a webes.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
gg004-Mesh project copy-paste-rename gg002-App folder
Kamera, 3D, transzformációk Szécsi László
World map.
OO framework, Egg util library László Szécsi
Environment mapping Szécsi László
Előadás másolata:

User interface Szécsi László

Egg projectben DXUTgui.cpp – CDXUTDialogResourceManager::CDXUTDialogReso urceManager() m_SpriteBufferBytes11 = 0; ezt kihagyták, enélkül szétfagy

Sas/SasApp.h, Sas/SasApp.cpp Egg::Sas::SasApp : public Egg::App – effectből kimazsolázza a beállítandókat effectben ennek jelölése annotációkkal – kirakja és kezeli a DXUT-s GUI elemeket Ha Egg::Sas::SasApp-ból származtatunk később – Egg::App helyett – automatikus GUI!

CDXUTDialog hud; CDXUTDialog ui; CDXUTDialogResourceManager dialogResourceManager; static void CALLBACK onGuiEvent( UINT nEvent, int nControlID, CDXUTControl* pControl, void* pUserContext ); void Egg::Sas::SasApp::processGuiEvent( UINT nEvent, int nControlID, CDXUTControl* pControl);

namespace Sas { namespace Control { class Base { public: virtual ~Base(void); virtual void apply()=0; }; }

copy-paste-rename gg008-EnvMap folder vcxproj, filters átnevezés solution/add existing project rename project working dir: $(SolutionDir) Project Properties/Configuration Properties/Debugging/Command Arguments --solutionPath:"$(SolutionDir)" --projectPath:"$(ProjectDir)" build, run

#include "App/App.h" #include "Sas/SasApp.h" class Game : public Egg::App Egg::Sas::SasApp

Game::Game(ID3D11Device* device): Egg::Sas::SasApp(device) { }

// createResources loadEffect(); Egg::Sas::SasApp::createResources() ;

// releaseResources return Egg::App::releaseResources(); return Egg::Sas::SasApp::releaseResources ();

// render Egg::Sas::SasApp::render(context);

// animate Egg::Sas::SasApp::animate(dt, t);

// processMessage if(DxaSas::processMessage(hWnd, uMsg, wParam, lParam)) return true;

HRESULT CALLBACK OnD3D11ResizedSwapChain( ID3D11Device* pd3dDevice, IDXGISwapChain* pSwapChain, const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext ) { app->setSwapChain(pSwapChain, pBackBufferSurfaceDesc); app->createSwapChainResources(); return S_OK; }

void CALLBACK OnD3D11ReleasingSwapChain( void* pUserContext ) { app->releaseSwapChainResources(); }

SolutionDir/Media-ba ui.zip kibontása

#include float scalarTestVariable < string SasUiControl = "Slider"; string SasUiLabel = "scalar test variable"; float SasUiMin = 0.0; float SasUiMax = 1; int SasUiSteps = 100; > = 0.5; bool boolTestVariable < string SasUiControl = "CheckBox"; string SasUiLabel = "boolean test variable"; > = true; float scalarTestVariable2 < string SasUiControl = "Slider"; string SasUiLabel = "scalar test variable II"; float SasUiMin = 0.0; float SasUiMax = 1; int SasUiSteps = 100; > = 0.5; #9.0

L"UI\\Font.dds" L"UI\\outlinedFont.png"

ProjectDir/fx/main.fx-be dolgozzunk csak! új technique ‘guiTest’ – ugyanaz mint az envmapped technique – de más pixel shadereket használ psBackgroundGui, psEnvmappedGui – két slider a textúra és a tükröződés súlyának beállításához – psBackgroundGui – checkbox hogy a háttér cube map alapján legyen, vagy sima szürke – psEnvmappedGui Game.cpp-ben technique nevét cserélni