Використання текстур в Processing

Досі для фарбування наших 3D обєктів ми використовували рівні кольори Однак для оформлення ваших фігур ви можете використовувати зображення Ці зображення називаються текстурами і служать для посилення виразності ваших композицій

Приступимо

Створіть два зображення розміром 640 x 640 кожне і додайте їх у папку data вашого скетчу Якщо ви забули, як це зробити, загляньте в приклад Працюємо з ізобреніямі в Главі 2, Текст, криві і фігури в 2D

Як це робиться

Як і колись, спочатку імпортуємо бібліотеку OpenGL і оголошуємо два обєкти класу

PImage для зображень

import processingopengl* PImage texture1

PImage texture2

У функції setup () встановимо розмір вікна і завантажимо зображення з вашого жорсткого диска

void setup()

{

size( 640, 480, OPENGL )

noStroke()

texture1 = loadImage(&quotstonesjpg&quot) texture2 = loadImage(&quotlinesjpg&quot)

}

У функції draw () намалюємо два квадрата Додамо до них текстури за допомогою функції texture () Ми сумісний текстуру з вершинами по-різному для кожного квадрата Перша буде нанесена за допомогою режиму текстур IMAGE Далі слід код для малювання квадрата:

background( 255 )

textureMode( IMAGE ) pushMatrix()

translate( width/4, height/2, 0 ) rotateY( radians( frameCount ) ) beginShape()

vertex( -100, -100, 0, 0 )

vertex( 100, -100, 640, 0 )

vertex( 100, 100, 640, 640 )

&nbsp

texture( texture1 )

vertex( -100,  100, 0, 640 )

endShape( CLOSE ) popMatrix()

Для другого квадрата застосуємо режим текстур NORMAL Зображення текстури бет поєднане з вершинами фігури по-іншому Зверніть увагу, що третій і четвертий параметри функції vertex () різні

textureMode( NORMAL ) pushMatrix() translate( width*75, height/2, 0 ) rotateY( radians( -frameCount ) ) beginShape()

vertex( -100, -100, 0, 0 )

vertex( 100, -100, 1, 0 )

vertex( 100, 100, 1, 1 )

vertex( -100, 100, 0, 1 )

&nbsp

texture( texture2 )

endShape( CLOSE ) popMatrix()

Тепер ви можете запустити скетч він буде виглядати приблизно так, як на цьому скріншоті, за винятком використаних зображень

Як це працює

Ми вивчили декілька нових функцій для розташування на фігурі текстурних зображено Подивимося тепер, як вони працюють

f Функція texture () вказує Processing, яке зображення буде пріменятеся для створення текстури фігури

f Функція textureMode () визначає, яким чином Processing створить текстуру вашої тривимірної фігури Вхідними параметрами є IMAGE або NORMAL За умовчанням встановлений параметр IMAGE, в цьому випадку для розміщення ізоаженія повинні вказуватися розміри зображення У режимі текстур NORMAL замість розмірів зображення можна вказувати числа від 0 до 1

f Функція vertex () в даному випадку має два додаткові параметри Перші два параметри це координати точки, наступні два іспользутся для розміщення текстури У режимі текстур IMAGE рядок vertex ( 100, -100, 640, 0) означає вершину в точці (100, -100), а сама вершина доведеться на точку (640, 0) зображення, що відповідає правого верхнього кута У режимі текстур NORMAL цій точці зображення буде відповідати величина (1, 0)

Джерело: Ян Вантомм, Processing 2: креативне програмування, переклад з англійської Олександри Мішутіної, Published by Packt Publishing Ltd, 2012, BIRMINGHAM – MUMBAI

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*