Istoria principalelor biblioteci grafice
Pentru a înțelege mai bine ce să se aștepte din vânzarea atât API, ne întoarcem la sursele de crearea lor. Revizuirea istoria aruncă lumină asupra dacă există diferențe fundamentale între punerea în aplicare inițială a datelor bibliotecii.
Deschideți Graphics Library și-a găsit aplicarea în multe domenii (nu numai industria jocurilor de noroc), și timp de 18 ani, a fost în cerere.
Principiile de bază ale bibliotecilor grafice
Figura 2. Schema generală a bibliotecii grafice OpenGL.
Figura 1 prezintă principalele biblioteca grafică componente OpenGL și interacțiunea acestora. Pentru a lucra cu programul de bibliotecă trebuie să deschidă mai întâi o fereastră în framebuffer, și apoi contextul bibliotecii este asociat cu această fereastră (în cazul în care se va produce toate operațiunile). Această operațiune trebuie să fie făcut o dată, și apoi toate acțiunile sunt determinate de parametrii de prelucrare (desen obiecte geometrice simple: linii, puncte, poligoane; primitivele de redare, inclusiv locația și culoarea lor).
Aceeași bibliotecă este implementată sub formă de informații cu privire la structura care determină modul în care obiectele sunt desenate în framebuffer, iar unele dintre structurile disponibile pentru utilizator, care poate crea o varietate de apeluri de funcții pentru a modifica setările.
Puțin mai mari au fost luate în considerare principiile de bază ale bibliotecii, apoi un exemplu simplu va fi luate în considerare - desen piramida cu textură OpenGL înseamnă. Acest lucru necesită conceptele de bază necesare pentru această sarcină:
Vertex (sus) - format după specificarea coordonatelor în spațiul 2-, 3- sau 4-dimensional. În cazul acestui exemplu, sunt stabilite patru coordonate în spațiul 3D, care indică vârfurile figurii.
Vertex Arrays (matrice de noduri) - pentru operarea cu o multitudine de noduri care trebuie să manipuleze un număr mare de instrucțiuni (pentru formarea de forme geometrice simple), pentru a se evita o sarcină inutilă de calcul există asocierea de noduri. În acest caz, ele formează o matrice, care este conținut în memorie. Pentru a lucra cu piramida ca un întreg topuri sunt combinate sub un singur nume.
Evaluatori - mijloace pentru multiple transformare de coordonate și culoare. După crearea celor patru noduri sunt instrucțiuni de prelucrare (care sunt înregistrate în Lista de afișare) și a mediei și eroare de calcul suprafeței geometrice (în această etapă are un cadru obiect apare) definit.
Transformarea coordonatelor (transformarea coordonatelor) - toate obiectele înainte de ieșire din framebuffer suferă schimbări de origine (de prezentarea programului lor în „fereastra“ pentru framebuffer), acest circuit de conversie este prezentat în figura 2. Mai mult decât atât, în acest moment există pregătire pentru rasterizare (taie părțile nedorite cifrele care ies din ecran).
Figura 3. Efectuarea rasterizarea și grafică OpenGL interpolare bibliotecă.
Acest API este o bibliotecă cuprinzătoare, care conține interfețele de programare a aplicațiilor pentru manipularea nu numai grafica. Ca parte a acestui studiu se ocupă numai cu partea grafică a bibliotecii.
Pentru a începe lucrul cu biblioteca grafică pe care doriți să deschideți fereastra programului, dar trebuie în continuare pentru a crea un dispozitiv de desen și, astfel, pentru a inițializa Direct3D. După această etapă a procesului de redare și afișare a scenei. Lanțul transformărilor necesare pentru a face un obiect, prezentat în figura 3.
Figura 3. Stepping obiect de afișare într-o bibliotecă DirectX grafic.
Pentru a crea o scenă necesară pentru a inițializa obiect D3D pentru desen, inclusiv crearea unui obiect, specificați opțiunile de afișare, crearea dispozitivului D3D, metoda poate specifica procesarea nod în parametrii dispozitivului - hardware sau software. OpenGL Alte produse cu conversie similară, dar având în vedere faptul că toate operațiunile de lucru pe obiecte. La finalizarea programului este necesară închiderea dispozitivului, dar în realitate, acest proces încă arată un pic mai complicat. Ca parte a acestei lucrări nu vor fi considerate detalii specifice, de la finalizarea programului nu afectează utilizatorul impresia de viteza si dinamica modelului de afișare. Pornind de la acest fapt, poate fi destul de liberală trata corectitudinea și viteza de finalizare a programului, cu atât mai mult, deoarece nu este relevant în cadrul limbilor-programare a reușit.
Figura 4. Cifrele de afișare pentru blaturi și conexiuni între ele în DirectX biblioteca grafica.
Noile versiuni ale DirectX au caracteristici suplimentare care îmbunătățesc realismul vizual:
HLSL (High-Level Shader Language - nivel înalt Shader Language) - vă permite să controlați fluxul de comenzi;
Controlul asupra executării shader;
Interacțiunea cu GDI (Graphics Device Interface);
Suport pentru carduri de înlocuire (cartografiere de deplasare) - schimba coordonatele poligonului;
Suport pentru 40 de biți de culoare (mai mult de 1,0 miliarde. Culori).
Pixel shader - această rutină mici (efectuate pe GPU), care lucrează cu fiecare pixel pentru a crea textura și utilizate pentru calcularea luminii, creând efecte diferite. În cele mai multe bibliotecă OpenGL acestea sunt absente din cauza faptului că, atunci când a fost creat caietul de sarcini, shadere nu au fost încă inventate, și de ce acestea au fost incluse în formă de extensii.
Consiliul de arhitectură opinie (ARB - Comisia de revizuire a arhitecturii), care include astfel de companii bine-cunoscute, cum ar fi Labs 3D, SGI, Apple, nVidia, ATi, Intel, id Software, Microsoft.
Reprezentafli manapoliyu ar deschide harta arhitectura De ce avem nevoie de a lor „obstragirovannie» Grafica se dezvoltă la o rată de chtoli bibleotek
Editat: a eliminat un limbaj obscen
Deja în căutarea DirektH tutorial
Aș dori să creez ceva pe ecran
Respectarea revizuirii competente
Vă mulțumesc, că doar o revizuire a fost făcut pentru o lungă perioadă de timp (și nici măcar nu sunt sigur ce el mi-a făcut 🙂), situația sa schimbat.
Deși am, în orice caz, prefer sa DirectX.