ПредишенСледващото

Картографирането на текстурата, OpenGL: Въведение.

Първото нещо, което трябва да се проведе в процеса на зареждане на текстура - предизвикателство glBindTexture. glBinndTexture казва OpenGL "ID" текстура, с които ние работим. "Id" текстура е vsegolish номер, който ще се използва за достъп до вашия teksuram. Ето един пример на разговора.

Това създава под текстура свързват с него 13, активният текстура. Други предизвикателства са свързани с OpenGL текстуриране ще работи с тази текстура. Важно е да запомните този номер, тъй като ще се наложи по-късно отново за действителното прилагане на текстури на геометрията.

Обадете glPixelStorei казва OpenGL как да се приведе в съответствие на данните да бъдат заредени. Обадете glPixelStorei показано по-долу.

Настоящата покана казва OpenGL, че данните за пикселите да се обработват, са облицовани в реда, байт, това означава, че данните са на odnobu байт за всеки компонент, по един за червено, по един за зелена и една за синьо. Придържайте се към искането е посочено по-горе, ако не разполагате с някакъв екзотичен вид данни, които аз силно се съмнявам. вероятно ще се промени, докато напредъкът в OpenGL текстуриране подравняване на данни.

glTexParameteri зададете различни параметри за текущата текстурата OpenGL. Опциите и влиянието им върху текстурата - отделен въпрос. Ако искате да видите това, което прави всяка заявка моля обърнете се към връзките, изброени в края на този документ. Всяка една от тези линии е важно, така че се уверете, че имате всеки във вашата програма.

Защо ми липсваше описанието на тях, ако те е толкова важно? Имотите, които можете да промените тези искания са важни за някой, който е по-напреднала. За тези, които са само за обучение, те трябва да се приема за даденост. След като напълно се разбере как да се работи в картографирането на OpenGL текстура, трябва да се помисли за тези имоти.

glTexEnvf стойност на променлива за текущата текстура. Какво го прави - в зависимост от OpenGL, как текстурата ще действа, когато тя ще бъде направен в сцената. По-долу - типичен заявка, която използвам в моите програми.

Това, което той прави - това създава активна текстура GL_MODULATE. GL_MODULATE знак ви позволява да прилагате ефекти, като например осветление и цвят, за да си текстура. Ако не искате осветлението и оцветяване приложена към вашата текстура и бихте искали да се покаже структурата на едно и също, когато се прилагат боя, сменете GL_MODULATE на GL_DECAL.


Това е всичко, приятели! След като сте направили всички описани по-горе, структурата ще бъде зареден и готов да приложите към геометрията. В следващия раздел ще обсъди прилагането на текстура към геометрията. Ако тя не изглежда ясно за вас, погледнете секцията връзки в края на този документ за пример на текстура.

Е, сега, че сте качили си текстура, което искате да направите нещо с него, но за сега това е само безполезни пръчки в паметта. Процесът за прилагане на текстура към геометрията наистина зависи от това данните, които да се занимават с и как искате да ги използвате. Поради този факт, в тази секция ще ви дам някои съвети за текстуриране, дам един пример за това как да се текстурирате квадрат и обясни текстурата координатна система.

  1. Уверете се, че текстуриране е активирана. Това се прави, като се обадите glEnable (GL_TEXTURE_2D).
  2. Уверете се, че сте задали текстура, преди да направите каквито и да било glBegin / glEnd. Вие не можете да зададете текстура във вътрешността на тръгване / крайните парчета.
  3. Уверете се, че можете да зададете текстурата координира преди всяко Vertex, което е на повърхността. Ако имате 3 върхове, пробата за структурата, картографиране на триъгълника ще бъде като този: TexCoord; VertexCoord; texCoord; VertexCoord; texCoord; VertexCoord;
  4. Уверете се, че поддържате лични текстури променливи, това прави нещата по-лесни.
  5. Използвайте glGenTextures. Лесен начин да получите безплатен текстура номер.
Подкрепете проекта - споделете линка, благодаря!