1. Какие типы шейдеров вы знаете? 2. Какие встроенные типы в GLSL, отсутствующие в языке С, вы знаете? 3. Какие описатели переменных в GLSL вы знаете? 4. К каким переменным можно применять описатели attribute, uniform и varying? 5. Назовите встроенные переменные, которые служат для доступа к стандартным атрибутам вершины. 6. В чем отличие uniform-переменных от атрибутов? 7. В чем отличие uniform-переменных от varying-переменных? 8. Какие стандартные uniform-переменные вы знаете? 9. Какие стандартные varying-переменные вы знаете? 10. Используя фрагменты кода и шейдеры из этой главы, постройте полноценную программу, выводящую объект с использованием шейдеров. 11. Напишите программу, осуществляющую попиксельное освещение объекта с использованием модели Блин на. 12. Напишите программу, осуществляющую попиксельное освещение объекта с использованием модели Блинна — Фонга.
12 = 1100|2
Для перевода дробной части числа последовательно умножаем дробную часть на основание 2. В результате каждый раз записываем целую часть произведения.
0.75*2 = 1.5 (целая часть 1)
0.5*2 = 1 (целая часть 1)
0*2 = 0 (целая часть 0)
0*2 = 0 (целая часть 0)
Получаем число в 2-ой системе счисления: 1100
0.75 = 1100|2
В итоге получаем число: 1100.1100|2
#include <iostream> //если не отображается, пиши после include - iostream в <>
using namespace std;
int main(){
for(int i=0;i<10;i++)
cout<<"Hello World";
cin.get();
cin.get();
return 0;
} 11.
#include <iostream> //если не отображается, пиши после include - iostream в <>
#include <string> //если не отображается, пиши после include - string в <>
using namespace std;
int main() {
string s,p;
cin>>s;
cin>>p;
if((p!="v") && (p!="g"))
return 66;
int n;
cin>>n;
if (p=="g"){
for(int i=0;i<n;i++)
cout<<s;
}
else
{
for(int i=0;i<n;i++)
cout<<s<<"\n";
}
cin.get();
cin.get();
return 0;
}