Subversion Repositories komp-grafika

[/] [index_6.htm] - Rev 21

Compare with Previous | Blame | View Log

<html>

<head>
<title>6 pamoka</title>
<meta http-equiv=Content-Language content=lt>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<link href="global.css" rel="stylesheet" type="text/css" />
<link href="print.css" rel="stylesheet" type="text/css" media="print" />
<style>
<!--//
a:link    {font-family:Verdana,Tahoma,Helvetica; font-weight:normal; color:#008000; text-decoration:none; }
a:active  {font-family:Verdana,Tahoma,Helvetica; font-weight:normal; color:#008000; text-decoration:none; }
a:visited {font-family:Verdana,Tahoma,Helvetica; font-weight:normal; color:#008000; text-decoration:none; }
a:hover   {font-family:Verdana,Tahoma,Helvetica; font-weight:normal; color:#ee0033; text-decoration:none; }
ul, li    {font-family:Verdana,Tahoma,Helvetica; font-weight:normal; text-align:justify; margin: 6px 2% 6px; }
p, body   {font-family:Verdana,Tahoma,Helvetica; font-weight:normal; }
//-->
</style>
</head>

<body>

<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table1">
    <tr>
        <td class="l">&nbsp;</td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Mokymai
        kaip tekstura planas turi daug privalumu. Sakykime, jus norejote raketa
        perskristi visa ekrana. Iki sios pamokos mes butume tikriausiai padare
        visa raketa is poligonu ir isgalvotas spalvu. Su teksturos modeliavimu,
        Galite imti tikra raketos paveiksliuka ir padaryti paveiksliuka skraidyti visame
        ekrane. Kas, jusu manymu, atrodo geriau? Nuotrauka ar
        objektas, sudarytas is trikampiu ir kvadratu? Naudodami teksturos modeliavima,
        ne tik jusu programa atrodys geriau, bet ir jusu programos veiks greiciau. Tekstura
        modeliuota raketa butu tik vienas kvadratas skersai ekrano.
        Raketa pagamintas is poligonu gali buti sudaryta is simtu ar tukstanciu
        poligonu. Viena teksturos modeliavimo susieta kvadratas naudoja daug maziau
        apdorojimo galos. <br>
        <br>
        Pradekim pridedami penkias naujas eilutes kodo i pirmos pamokos virsu.
        Pirma nauja eilute # include &lt;stdio.h&gt;. Irasyta sio failo antrastes
        leidzia mums dirbti su failais. Norint naudotis fopen () veliau koda
        reikia itraukti sia eilute. Tada mes prideti tris naujus slankiojo kablelio
        kintamuosius ... xrot, yrot ir zrot. Sie kintamieji bus naudojamas sukti
        apie x asi kuba, y asies ir Z asis. Paskutine eilute GLuint texture [1]
        nustato teksturos laikymo vieta. Jei norejote pakrauti daugiau nei
        viena tekstura, jus turetomete pakeisti skaiciu nuo vieno iki
        kokionors skaiciaus, teksturos norite ikelti. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table2">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>#include   &lt;windows.h&gt;                       <font class="theme">// Antrastes failas langam naudoti</font>
#include    &lt;stdio.h&gt;                     <font class="theme">// Antrastes failas Standatinam Ivedimui/isvedimui</font>
#include    &lt;gl\gl.h&gt;                     <font class="theme">// Antrastes failas OpenGL32 bibliotekai</font>
#include    &lt;gl\glu.h&gt;                        <font class="theme">// Antrastes failas GLu32 bibliotekai</font>
#include    &lt;gl\glaux.h&gt;                      <font class="theme">// Antrastes failas GLaux bibliotekai</font>

HDC     hDC=NULL;                       <font class="theme">// privati GDI prietaisu Context</font>
HGLRC       hRC=NULL;                       <font class="theme">// Nuolatinis paleidimo aplinkybes</font>
HWND        hWnd=NULL;                      <font class="theme">// Laiko langu rankenos</font>
HINSTANCE   hInstance;                      <font class="theme">// Laiko aplikacojos akimirka</font>

bool        keys[256];                      <font class="theme">// masyvas naodojamas klaveturos tvarka</font>
bool        active=TRUE;                        <font class="theme">// Lango aktivavimo veliava</font>
bool        fullscreen=TRUE;                    <font class="theme">// Pilno ekrano veliava</font>

GLfloat     xrot;                           <font class="theme">// X kryptis</font>
GLfloat     yrot;                           <font class="theme">// Y kryptis</font>
GLfloat     zrot;                           <font class="theme">// Z kryptis</font>

GLuint      texture[1];                     <font class="theme">// Texturos laikymo vieta</font>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);           <font class="theme">// WndProc paskelbimas</font>
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table3">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table4">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Dabar
        is karto po virsuj esancio kodo, ir pries ReSizeGLScene (),
        mes norime prideti sio skyriaus koda. Sio kodo darbas yra pakrauti bitmap faila.
        Jei failas neegzistuoja, NULL grazinamas kaip reiksme, reiskia tekstura negali
        buti ikelta. Pries pradedant aiskinti koda yra keletas labai svarbiu dalyku,
        ka reikia zinoti apie vaizdus, kuriuos planuojate naudoti kaip tekstura.
        Image'o aukstis ir plotis turi bÅ«ti ne daugiau kaip 2 galios.
        plotis ir aukstis turi buti ne maziau kaip 64 tasku, ir dėl suderinamumo
        priezasciu, turi buti ne didesnis nei 256 pikseliu. Jei atvaizdą, kuri norite naudoti
        ne 64, 128 arba 256 pikseliu plocio ir aukscio, tai reikia pakeisti jo dydi
        kokia nors menu programa. Yra budu, kaip si apribojima apeiti, bet dabar mes tiesiog
        laikysimes standartines strukturos dydziais. <br>
        <br>
        Pirmas dalykas, kuri mes darome, yra sukurti failo rankenele. Rankenos yra verte
        nustatanti isteklius, kad muss programa galetu naudotis. Mes nustateme rankena
        NULL kad pradzioje isjungtume.</font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table5">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>AUX_RGBImageRec *LoadBMP(char *Filename)                   <font class="theme">// Pakrauna modelio image'a</font>
{
    FILE *File=NULL;                            <font class="theme">// Failo rankena</font>
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table6">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table7">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Toliau
        mes isitikinsime, kad failui vardas buvo suteiktas.
        Asmuo gali naudoti LoadBMP () nenurodant ar failas buvo ikeltas, todel mes turime
        patikrinti. Mes nenorime bandyti pakrauti nieka :) </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table8">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   if (!Filename)                              <font class="theme">// Isitikinama ar failui vardas buvo suteiktas</font>
    {
        return NULL;                            <font class="theme">// Jei ne grazinti NULL</font>
    }
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table9">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table10">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Jei
        failo vardas buvo suteiktas, mes tikriname, ar failas egzistuoja.
        Eilute zemiau bando atidaryti faila. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table11">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   File=fopen(Filename,&quot;r&quot;);                     <font class="theme">// Tikrina ar failas egzistuoja</font>
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table12">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table13">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Jei
        mes galejome atidaryti faila jis akivaizdziai egzistuoja. Mes uzdarome faila su
        fclose (failas) tada mes griziname image'o duomenis. auxDIBImageLoad (filename)
        skaito duomenis. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table14">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   if (File)                               <font class="theme">// Ar failas egzistuoja?</font>
    {
        fclose(File);                           <font class="theme">// Uzdaro rankena</font>
        return auxDIBImageLoad(Filename);               <font class="theme">// Paleidzia Bitmap ir grazina pointeri</font>
    }
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table15">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table16">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Jei
        mes negalejome atidaryti failo mes grazinsime NULL. t.y. byla
        negali buti ikelta. Veliau i programa mes tikriname, ar
        byla buvo pakrautas. Jei jis nebuvo mes baigsim programa su klaidos
        pranesima. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table17">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   return NULL;                                <font class="theme">// Jei nepasiseke pakraut grazina NULL</font>
}
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table18">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table19">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Sioje
        codo dalyje kuris paleidzia bitmap (iskviesdamas koda esanti virsui)
        ir isvercia ji i tekstura. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table20">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>int LoadGLTextures()                               <font class="theme">// Paleidzia Bitmap ir isvercia teksturas</font>
{
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table21">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table22">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Mes
        nustatysime kintamaji vadinama busena. Mes naudosime si kintamaji
        tam kad sektume ar galime, ar ne, pakrauti bitmap ir statyti tekstura.
        Mes nustatome busena i klaidinga (reiskia, kad niekas nebuvo pakrauta ar pastatyta),
        numatytaje reiksme. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table23">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   int Status=FALSE;                           <font class="theme">// Busenos rodiklis</font>
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table24">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table25">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Dabar mes
        sukursime image'o irasa kuriame mes galesime laikyti musu bitmap.
        Irasas laikys bitmap'o ploti, auksti ir duomenis. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table26">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   AUX_RGBImageRec *TextureImage[1];                   <font class="theme">// Sukuriama laikymo vieta texturai</font>
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table27">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table28">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Mes isvalome
        image'o irasa tam, kad isistikinti ar jis tuscias. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table29">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   memset(TextureImage,0,sizeof(void *)*1);                <font class="theme">// Nustato Pointeri i NULL</font>
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table30">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table31">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Dabar mes
        paleidziame bitmap'a ir isverciame ji i tekstura.
        TextureImage[0]=LoadBMP(&quot;Data/NeHe.bmp&quot;) nusoks i musu LoadBMP()
        coda. Failas pavadintas NeHe.bmp duomenu katalogas bus pakrautas. Jei
        viskas bus gerai, image'o duomenys bus talpinami TextureImage[0],
        Busena yra nustatyta i TRUE ir mes pradesim kurti musu tekstura. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table32">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   <font class="theme">// Pakraunamas Bitmap'as, Tikrinamos klaidos, jei Bitmap'as nerastas baigti</font>
    if (TextureImage[0]=LoadBMP(&quot;Data/NeHe.bmp&quot;))
    {
        Status=TRUE;                            <font class="theme">// Nustato Busena i TRUE</font>
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table33">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table34">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Dabar jau
        paleide image'o duomenis i TextureImage[0], mes pastatysim tekstura naudodami
        jo duomenis. Pirmoji eilute glGenTextures(1, &amp;texture[0])
        pasako OpenGL, kad mes norime sugeneruoti viena teksturos varda (didina skaiciu
        jei tu paleidai daugiau nei viena texstura). Atsiminkite, pacioj pradzioj
        sio pamokos mes sukureme vieta vienai teksturai su eilute GLuint
        texture[1]. Tuotarpu tu nemanai, kad pirma tekstura bus talpinama i
        &amp;texture[1] vietoj &amp;texture[0], tai taip nera. Pirmas tikras talpinimo
        vieta yra 0. Jei mes norime dviju teksturu mes turetume naudoti GLuint texture[2] ir  
        antraje tekstura butu talpinama i texture[1]. <br>
        <br>
        Antroji eilute glBindTexture(GL_TEXTURE_2D, texture[0]) pasako OpenGL  
        suristi teksturos varda texture[0] su teksturos taikiniu. 2D tekstura turi
        abu auksti (Y asyje) ir ploti (X asyje). Pagrindine funkcija glBindTexture yra
        priskirti teksturos varda teksturos duomenims. Siuo atveju mes sakome OpenGL,
        cia yra galima atmitis &amp;texture[0]. Kai mes sukuriame tekstura
        ji bus talpinama nuorodos atmintyje &amp;texture[0].</font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table35">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>       glGenTextures(1, &amp;texture[0]);                  <font class="theme">// Sukuriama tekstura</font>

        <font class="theme">// Tipinis teksturos generavimas naudojant duomenis is Bitmap</font>
        glBindTexture(GL_TEXTURE_2D, texture[0]);
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table36">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table37">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Toliau mes
        sukuriame tikra tekstura. Sekancios eilutes pasako OpenGL, kad tekstura
        bus 2D tekstura (GL_TEXTURE_2D). Nulis atvaizduoja images'o smulkmenu lygi,
        tai dazniausiai nustatyta nuliui. Yra trys duomenu komponentai.
        Kadangi image'as yra pagamintas is raudonu, zaliu ir melinu duomenu,
        cia yra trys komponentai. TextureImage[0]-&gt;sizeX yra teksturos
        plotis. Jei zinai ploti, gali ji ideti, bet lengviau leisti kompiuteriui paciam
        isiaiskinti uz jus. TextureImage[0]-&gt;sizey yra teksturos aukstisis.
        Nukis yra riba. Jis dazniausiai nustatyta nuliui. GL_RGB pasako OpenGL,
        image'o duomenys, kuriuos naudojam, yra padaryti is raudonos, zalios ir melinos duomenu tvarka.
        GL_UNSIGNED_BYTE reiskia, kad duomenys kurie sukuria image'a yra padaryti is
        nepazimetu bitu (unsigned bytes) ir galutinai... TextureImage[0]-&gt;data pasako OpenGL
        is kur mes turime gauti teksturos duomenis. Siuo atveju jis nurodo duomenis patalpintus
        TextureImage[0] irase. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table38">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>       <font class="theme">// generuoja tekstura</font>
        glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]-&gt;sizeX, TextureImage[0]-&gt;sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]-&gt;data);
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table39">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table40">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Kitos
        dvi eilutes pasako OpenGL koki filtravimo tipa naudosime kai imge'as yra
        didziulis (GL_TEXTURE_MAG_FILTER) arba istemptas ekrane nei orginalioje teksturoje,
        arba kai jis mazesnis (GL_TEXTURE_MIN_FILTER) ekrane nei tikroji tekstura.
        As paprastai naudoju GL_LINEAR abiem atvejams. Tai padaro tekstura atrodancia
        lygiu is tolo ir kai jis paruostas uzdarome ekrana. Naudojant GL_LINEAR
        reikalinga labai dagu procesoriaus/vaizdo kortos darbo,
        tai jei jusu sitema leta, jus geriau norit naudoti GL_NEAREST.
        Tekstura kuri yra filtruota su GL_NEAREST atrodys kubuotai kai istemsime.
        Jus taip pat galite bandyti abi kombinacijas. Padarykite filtruotus dalykus arti,
        bet ne dalykus kurie yra tolumoje. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table41">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>       glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); <font class="theme">// linijinis filtravimas</font>
        glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); <font class="theme">// linijinis filtravimas</font>
    }
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table42">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table43">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Dabar mes
        atlaisvinam betkokias kliutis kurias galim naudoti bitmap duomenims talpinti. Mes tikriname,
        kad pamatytume ar bitmap duomenys buvo patalpintos TextureImage[0]. Jei ji buvo
        mes tikriname, kad pamatytume ar duomenys buvo patalpinti. Jei duomenys buvo patalpinti, mes istriname
        ji. Tada mes atlaisviname image'o struktura isitikindami
        ar kokia atmintis yra laisva. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table44">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   if (TextureImage[0])                            <font class="theme">// Ar tekstura egzistuoja</font>
    {
        if (TextureImage[0]-&gt;data)                   <font class="theme">// Ar teksturos image'as egzistuoja</font>
        {
            free(TextureImage[0]-&gt;data);             <font class="theme">// Atlaisvina teksturos Image'o atminti</font>
        }

        free(TextureImage[0]);                      <font class="theme">// Atlaisvina Image'o stuktura</font>
    }
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table45">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table46">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Galutinai
        mes graziname busena. Jei viskas buvo OK, busenos verte bus TRUE.
        Jei kas nors buvo negeriai, busena bus FALSE. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table47">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   return Status;                              <font class="theme">// Grazina busena</font>
}
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table48">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table49">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">As
        pridejau keleta eiluciu kodo InitGL. As atspausdinu  visa kodo sekciaja,
        tam, kad butu lengviau pamatyti eilute kuria pridejau ir kur ji eina kode.
        Pirmoji eilute jei (!LoadGLTextures()) nusoksta eile virsuj su
        bitmap paleidimu ir padaro tekstura is jos. Jei LoadGLTextures() nepavyksta
        del kokios nors priezasties, kita kodo eilute bus grazinti FALSE.
        Jei viskas buvo OK ir tekstura buvo sukurta, mes ijungiame 2D
        teksturos modeliavima. Jei uzmirsote ijunkti teksturos modeliavima jusu objektas  
        parastai atsiras istisai baltas ir tao tikrai nera gerai. </font>
        </td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table50">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>int InitGL(GLvoid)                             <font class="theme">// Visi OpenGL nustatymai dedami cia</font>
{
    if (!LoadGLTextures())                          <font class="theme">// Nusoka tekstuos paleidimo rutina</font>
    {
        return FALSE;                           <font class="theme">// Jei tekstura nepasileidzia grazina FALSE</font>
    }

    glEnable(GL_TEXTURE_2D);                        <font class="theme">// Leisti teksturos modeliavima</font>
    glShadeModel(GL_SMOOTH);                        <font class="theme">// Leisti idtisa spalvinima</font>
    glClearColor(0.0f, 0.0f, 0.0f, 0.5f);                   <font class="theme">// Juodas fonas</font>
    glClearDepth(1.0f);                         <font class="theme">// Gylio susvelninimo nustatymai</font>
    glEnable(GL_DEPTH_TEST);                        <font class="theme">// Leidzia gylio testavima</font>
    glDepthFunc(GL_LEQUAL);                         <font class="theme">// Gylio testavimo tipas</font>
    glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);          <font class="theme">// tikrai grazios perspektyvos skaciavimai </font>
    return TRUE;                                <font class="theme">// Tikrinama ar viskas OK</font>
}
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table51">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table52">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Dabar mes
        nupiesime teksturos kuba. Tu gali pakeisti DrawGLScene koda su kodu apacioje
        arba gali prideti nauja koda prie orginalios pirmos pamokos kodo.
        Si sekcija bus labai komentuota todel bus langva suprasti.  
        Pirmos dvi kodo eilutes glClear() ir glLoadIdentity() yra
        pirmos pamokos kodas. glClear(GL_COLOR_BUFFER_BIT |
        GL_DEPTH_BUFFER_BIT) isvalys ekrana  i spalva kuria mes pasirinksime InitGL().
        Siuo atveju, ekranas bus isvalomas i juoda. Gylio buferis  
        irgi bus isvalytas. Vaizdas tada bus pakartotinai nustatytas su glLoadIdentity(). </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table53">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>int DrawGLScene(GLvoid)                                <font class="theme">// Cia bus visi piesimai</font>
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);         <font class="theme">// Isvalo ekrana ir gylio buferi</font>
    glLoadIdentity();                           <font class="theme">// Restratuoja dabartine matrica</font>
    glTranslatef(0.0f,0.0f,-5.0f);                      <font class="theme">// Perkelia i 5 ekrana</font>
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table54">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table55">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Sekancios
        trys kodo eilutes pasuks kuba x asimi, tada y asimi ir galutinai z asimi.
        Kiek pasuks kieviena asimi priklausys nuo verciu patalpintu xrot, yrot ir zrot. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table56">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   glRotatef(xrot,1.0f,0.0f,0.0f);                     <font class="theme">// Pasuka X asimi</font>
    glRotatef(yrot,0.0f,1.0f,0.0f);                     <font class="theme">// Pasuka Y asimi</font>
    glRotatef(zrot,0.0f,0.0f,1.0f);                     <font class="theme">// Pasuka Z asimi</font>
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table57">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table58">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Sekanti
        codo eilute pazymi kuria tekstura mes norime naudoti. Jei cia yra daugiau
        nei viena tekstura jus norite naudoti scenoje, jus pazimesite tekstura
        naudojant glBindTexture(GL_TEXTURE_2D, texture[naudojamu teksturu skaicius]).
        Jei jus pakeisti tekstura, jus prijunksite neauja tekstura.
        Vienas dalykas pabreziama, tai kad jus negalite prijunkti teksturos viduje  
        glBegin() ir glEnd(), jus turite  tai padaryti pries glBegin().
        Pastebekite kaip mes naudjame glBindTextures nurodo sukurta tekstura ir
        pasirinkta specifine tekstura. </font></td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table59">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   glBindTexture(GL_TEXTURE_2D, texture[0]);               <font class="theme">// Pasirenkame savo tekstura</font>
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table60">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table61">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">
        Tam kad tinkamai nustatytume teksturos vieta, jus turite isitikinti, kad  
        virsutine desine tekstura yra sumodeliuota. Virsutine kairioji  
        tekstura yra sumodeliuota virsutinej kairioj vietoje, apatine desine  
        tekstura modeliuota aoatineje desineje dalyje ir galutinai,
        apatine kaire teksturos yra sumodeliuota i apatine kaire vieta. Jei
        teksturos kampai neatitinka tospacios vietos,
        image'as gali atrodyti apverstas aukstyn kojom, sonu, ar visai nebuti. <br>
        <br>
        Pirmoji verte glTexCoord2f yra X koordinate. 0.0f yra kaire teksturos dalis.
        0.5f yra teksturos vidurys ir 1.0f yra desinis teksturos krastas.
        Sekanti verte glTexCoord2f yra Y koordiante. 0.0f yra teksturos apacia.
        0.5f yra teksturos vidurys ir 1.0f yra teksturos virsu. <br>
        <br>
        Tai kaip mes zinome, kad virsutine kaire teksturos koordinate yra 0.0f ant X ir
        1.0f ant Y, ir virsutine kaire vietos virsune yra -1.0f ant X, ir 1.0f ant Y.
        Dabar kas beliko tai atitaikyti kitas tris teksturos koordinates  
        su likusiai trimis vietos kampais. <br>
        <br>
        Bandykit zaisti su x ir y vertem glTexCoord2f. Keisdami
        1.0f i 0.5f tik nupies kaire teksturos puse is 0.0f (kaire)
        i 0.5f (teksturos vidurys). Keisdami 0.0f i 0.5f tik nupies  
        desini teksturos puse is 0.5f (vidurio) i 1.0f (desinia). </font>
        </td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table62">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   glBegin(GL_QUADS);
        <font class="theme">// Front Face</font>
        glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);  <font class="theme">// Apatine kaire Tekstura ir vieta</font>
        glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);  <font class="theme">// Apatine desine Tekstura ir vieta</font>
        glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f,  1.0f);  <font class="theme">// Virsutine desine Tekstura ir vieta</font>
        glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f,  1.0f);  <font class="theme">// Virsutine kaire Tekstura ir vieta</font>
        <font class="theme">// Back Face</font>
        glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f, -1.0f);  <font class="theme">// Apatine desine Tekstura ir vieta</font>
        glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f,  1.0f, -1.0f);  <font class="theme">// Virsutine desine Tekstura ir vieta</font>
        glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f,  1.0f, -1.0f);  <font class="theme">// Virsutine kaire Tekstura ir vieta</font>
        glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f);  <font class="theme">// Apatine kaire Tekstura ir vieta</font>
        <font class="theme">// Top Face</font>
        glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f, -1.0f);  <font class="theme">// Virsutine kaire Tekstura ir vieta</font>
        glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f,  1.0f,  1.0f);  <font class="theme">// Apatine kaire Tekstura ir vieta</font>
        glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f,  1.0f,  1.0f);  <font class="theme">// Apatine desine Tekstura ir vieta</font>
        glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f, -1.0f);  <font class="theme">// Virsutine desine Tekstura ir vieta</font>
        <font class="theme">// Bottom Face</font>
        glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, -1.0f, -1.0f);  <font class="theme">// Virsutine desine Tekstura ir vieta</font>
        glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, -1.0f, -1.0f);  <font class="theme">// Virsutine kaire Tekstura ir vieta</font>
        glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);  <font class="theme">// apatine kaire Tekstura ir vieta</font>
        glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);  <font class="theme">// Apatine desine Tekstura ir vieta</font>
        <font class="theme">// Right face</font>
        glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f);  <font class="theme">// Apatine desine Tekstura ir vieta</font>
        glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f, -1.0f);  <font class="theme">// Virsutine desine Tekstura ir vieta</font>
        glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f,  1.0f,  1.0f);  <font class="theme">// Virsutine kaire Tekstura ir vieta</font>
        glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);  <font class="theme">// Apatine kaire Tekstura ir vieta</font>
        <font class="theme">// Left Face</font>
        glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f, -1.0f);  <font class="theme">// Apatine kaire Tekstura ir vieta</font>
        glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);  <font class="theme">// Apatine desine Tekstura ir vieta</font>
        glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f,  1.0f,  1.0f);  <font class="theme">// Virsutine desine Tekstura ir vieta</font>
        glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f, -1.0f);  <font class="theme">// Virsutine kaire Tekstura ir vieta</font>
    glEnd();
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table63">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table64">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Dabar mes
        padidinsime xrot, yrot ir zrot vertes. Bandyk keisti rodiklius, didinant skaicius  
        priversdami kuba suktis greiciau ar leciau, ar bandykit
        keisti a + i a - kad priversti kuba suktis i kita puse. </font>
        </td>
        <td class="r">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table65">
    <tr>
        <td class="bl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="bc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="br">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<pre>   xrot+=0.3f;                             <font class="theme">// X asies kryptis</font>
    yrot+=0.2f;                             <font class="theme">// Y asies kryptis</font>
    zrot+=0.4f;                             <font class="theme">// Z asies kryptis</font>
    return true;                                <font class="theme">// Vis eina</font>
}
</pre>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table66">
    <tr>
        <td class="tl">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="tc" width="100%">
        <img alt="" src="vaizdai/blank.gif" width="100%" height="28"></td>
        <td class="tr">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
    </tr>
</table>
<table border="0" cellSpacing="0" cellPadding="0" width="100%" id="table67">
    <tr>
        <td class="l">
        <img alt="" src="vaizdai/blank.gif" width="28" height="28"></td>
        <td class="back3" vAlign="top" width="100%"><font class="text">Jus
        tuetumete tureti geresni supratima apie teksturos modeliavima. Jus turetumete
        sugebeti teksturos modelio padaryti pavirsiu is betkokios vietos su turimu image'u  
        kuri pasirinksite. Kai tik jausites pasitikintis savo supratimu apie 2D teksturos
        modeliavima, bandykit prideti sesis skirtingus teksturas kubui. <br>
        <br>
        Teksturos modeliavimas nera sudetinga suprasti kai tik pradedi supraasti teksturos koordinates.
        Jei jus turite problemu suprantant kuria nors sios pamokos dali,
        praneskit man. Arba as perasysiu ta pamokos dali ar atrasysiu atgal i jusu elektrunini pasta.
        Pasilinksminkit kurdami savo teksturos scenes :) <br>
        <br>
        <b>Jeff Molofee</b> (<b>NeHe</b>) <br>
        <br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/vc/lesson06.zip">Visual
        C++</a> Sios pamokos kodas. <br>
        <br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/bcb6/lesson06_bcb6.zip">
        Borland C++ Builder 6</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:christian@tugzip.com">Christian Kindahl</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/c_sharp/lesson06.zip">C#</a>
        Sios pamokos kodas. ( Conversion by <a href="mailto:sugarbee@gmx.net">
        Sabine Felsinger</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/csgl/lesson06.zip">VB.Net
        CsGL</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:createdbyx@yahoo.com">X</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/cwarrior/lesson06.zip">
        Code Warrior 5.3</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:DelusionalBeing@hotmail.com">Scott Lupton</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/cygwin/lesson06.tar.gz">
        Cygwin</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:stephan@lazyfellow.com">Stephan Ferraro</a> )<br>
        * Parsisiuskit <a href="http://nehe.gamedev.net/data/lessons/d/lesson06.zip">
        D Language</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:gpineda2013@yahoo.com.mx">Familia Pineda Garcia</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/delphi/lesson06.zip">
        Delphi</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:michal_praha@seznam.cz">Michal Tucek</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/devc/lesson06.zip">Dev C++</a>
        Sios pamokos kodas. ( Conversion by
        <a href="mailto:danprogram@hotmail.com">Dan</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/euphoria/lesson06.zip">
        Euphoria</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:1evan@sbcglobal.net">Evan Marshall</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/gameglut/lesson06.zip">
        Game GLUT</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:milix_gr@hotmail.com">Milikas Anastasios</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/glut/lesson06.zip">GLUT</a>
        Sios pamokos kodas. ( Conversion by
        <a href="mailto:kgancarz@hotmail.com">Kyle Gancarz</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/irix/lesson06.zip">Irix</a>
        Sios pamokos kodas. ( Conversion by
        <a href="mailto:lakmal@gunasekara.de">Lakmal Gunasekara</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/java/lesson06.zip">Java</a>
        Sios pamokos kodas. ( Conversion by
        <a href="mailto:jeff@consunet.com.au">Jeff Kirby</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/jedisdl/lesson06.zip">
        Jedi-SDL</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:Dominique@SavageSoftware.com.au">Dominique Louis</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/jogl/lesson06.jar">JoGL</a>
        Sios pamokos kodas. ( Conversion by
        <a href="mailto:jattier@hotmail.com">Kevin J. Duling</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/lccwin32/lccwin32_lesson06.zip">
        LCC Win32</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:rwishlaw@shaw.ca">Robert Wishlaw</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/linux/lesson06.tar.gz">
        Linux</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:ulmont@bellsouth.net">Richard Campbell</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/linuxglx/lesson06.tar.gz">
        Linux/GLX</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:Mihael.Vrbanec@stud.uni-karlsruhe.de">Mihael Vrbanec</a>
        )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/linuxsdl/lesson06.tar.gz">
        Linux/SDL</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:leggett@eecs.tulane.edu">Ti Leggett</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/lwjgl/lesson06.jar">LWJGL</a>
        Sios pamokos kodas. ( Conversion by
        <a href="mailto:mark.bernard@rogers.com">Mark Bernard</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/mac/lesson06.sit">Mac OS</a>
        Sios pamokos kodas. ( Conversion by <a href="mailto:asp@usc.edu">
        Anthony Parker</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/macosxcocoa/lesson06.zip">
        Mac OS X/Cocoa</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:blb@pobox.com">Bryan Blackburn</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/masm/lesson06.zip">MASM</a>
        Sios pamokos kodas. ( Conversion by <a href="mailto:scalp@bigfoot.com">
        Nico (Scalp)</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/openil/lesson06.zip">
        Visual C++ / OpenIL</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:doomwiz@ticnet.com">Denton Woods</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/pbasic/lesson06.zip">Power
        Basic</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:anguslaw@net.ntl.com">Angus Law</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/pelles_c/lesson06.zip">
        Pelles C</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:pelle@smorgasbordet.com">Pelle Orinius</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/python/lesson06.tar.gz">
        Python</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:johngferguson@comcast.net">John Ferguson</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/realbasic/RBlesson06.zip">
        REALbasic</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:mauitom@maui.net">Thomas J. Cunningham</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/scheme/lesson06.zip">
        Scheme</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:bburns@cs.umass.edu">Brendan Burns</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/solaris/lesson06.zip">
        Solaris</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:lakmal@gunasekara.de">Lakmal Gunasekara</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/vb/lesson06.zip">Visual
        Basic</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:rosscogl@email.com">Ross Dawson</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/vb/lesson06-2.zip">Visual
        Basic</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:pdetagyos@home.com">Peter De Tagyos</a> )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/vfortran/lesson06.zip">
        Visual Fortran</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:Jean-Philippe.Perois@wanadoo.fr">Jean-Philippe Perois</a>
        )<br>
        * Parsisiuskit
        <a href="http://nehe.gamedev.net/data/lessons/vs_net/lesson06.zip">
        Visual Studio .NET</a> Sios pamokos kodas. ( Conversion by
        <a href="mailto:ultimatezeus@hotmail.com">Grant James</a> )</font></td>
    </tr>
</table>

</body>

</html>
 

Compare with Previous | Blame | View Log