-
Notifications
You must be signed in to change notification settings - Fork 6
/
ibl_hdr.html
225 lines (143 loc) · 8.64 KB
/
ibl_hdr.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="description" content="Manual Livre de Blender" />
<meta name="keywords" content="Blender, Free Software, Libre Software, Open Source, Free Culture, Animation, 3D, Animação, Illustration, Ilustração, Education, Educação, Software Livre, VFX, Efeitos especiais, Visual Effects, CGI, 3D printing, impressão 3D">
<meta name="author" content="nafergo" >
<meta charset="UTF-8">
<title>Manual Livre de Blender</title>
<link rel="icon" type="image/x-icon" href="favicon.ico" />
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="css/bootstrap.min.css">
<!-- custom css -->
<link rel="stylesheet" href="css/mine.css" media="all" />
</head>
<body>
<div id="topo"></div>
<!-- início do menu -->
<div data-include="menu.html"></div>
<!-- fim do menu -->
<div class="container-fluid">
<div class="row">
<div class="col-xs-10 col-xs-offset-1">
<h1 class="titulopagina">Iluminação baseada em imagem <small>no Cycles</small></h1>
<dl class="dl-horizontal">
<dt>Versão</dt>
<dd>>= 2.75</dd>
<dt>Renderizador</dt>
<dd>Cycles</dd>
</dl>
<div class="page-header">
<h2>Introdução</h2>
</div>
<p>
A iluminação baseada em imagem (Image-Based Lighting [IBL], em inglês) é uma técnica de iluminação em 3D que envolve a utilização de uma imagem enquanto
representação omni-direcional da luz. Por outras palavras, utiliza uma imagem para controlar a iluminação da cena 3D criando efeitos de luz subtis e mais realistas.
A imagem é projetada em cúpula ou em esfera no ambiente (environment) e utilizada para simular a iluminação dos objetos na cena.
</p>
<p>Geralmente, as imagens utilizadas são fotografias e do tipo HDRI (High Dynamic Range Image).
As fotografias permitem maior realismo e as imagens HDR permitem um elevado alcance dinâmico (tem mais dados entre o valor mais escuro e o mais claro). No entanto, é possível
implementar esta técnica com qualquer tipo de imagem.</p>
<p>
A utilização de HDRI tem vindo a tornar-se mais comum pois permite uma iluminação mais dinâmica, com maior diversidade, e
maior exatidão nas cores e intensidades. Contudo, o tamanho dos ficheiros que armazenam este tipo de imagens (geralmente, dezenas de megabytes)
e o custo de aquisição das mesmas (HDRI com qualidade profissional gratuitas são muito raras) geram desafios importantes para os artistas interessados.
</p>
<p>É comum encontrar HDRI acompanhadas de outras versões mais leves, com menos qualidade mas também com menos megabytes.
Geralmente, essas versões mais "leves" destinam-se a facilitar a utilização pelo artista. Por
exemplo, pode utilizar a versão mais exata (mais pesada) para iluminar e uma versão mais leve para o fundo (veja o final desta página para perceber como pode fazer isso).</p>
<div class="page-header">
<h2>Exercício</h2>
</div>
<p>
Neste exercício, iremos imagens HDR de exterior e de interior. Consulte a página <a href="outro_material_de_apoio.html">Outro material de apoio</a> e descarregue uma HDRI de exteriores e outra de interiores.
</p>
<p>
A imagem abaixo mostra como utilizar uma HDRI para criar uma iluminação ambiente (Environmental Lighting). Os dois nós à esquerda permitem manipular o mapeamento da HDRI. Por exemplo, se
alterar o valor Z da Rotation no nó Mapping (coluna central), a HDRI vai rodar em torno do eixo Z e pode escolher o melhor ângulo.
</p>
<p>É importante referir que na cena abaixo não é utilizada qualquer lâmpada! A única fonte de iluminação é a imagem utilizada como Environment Texture. Na esfera é
possível ver o reflexo do sol.</p>
<p>
Nós utilizados (esq. para dir.): Texture Coordinate (Input), Mapping (Vector), Environment Texture (Texture), Background, Output.
</p>
<img src="img/ibl/1.jpg" alt="..." class="img-responsive img-thumbnail center-block">
<p>No painel World, foi ativada a opção Multiple Importance (especialmente importante quando são utilizadas cores não sólidas no ambiente) e foi aumentada a resolução. Esta resolução
permite melhorar a qualidade da iluminação (retira noise) mas tem impacto na memória e no tempo de renderização.</p>
<img src="img/ibl/1b.jpg" alt="..." class="img-responsive img-thumbnail center-block">
<p>Na imagem abaixo, a cena é iluminada apenas por uma imagem HDR capturada no interior de uma casa de banho. Não foi utilizada qualquer lâmpada.</p>
<p>Foi implementada uma rotação em Z (150º) na Environment Texture para a principal fonte de luz surgir à direita.
Repare como as sombras dos objetos estão alinhadas com a janela da imagem. No entanto,
a janela não é a única fonte de luz (atente nos reflexos da esfera).</p>
<img src="img/ibl/2.jpg" alt="..." class="img-responsive img-thumbnail center-block">
<p>Na imagem abaixo, foi utilizada outra HDRI de interiores. Repare na luz da televisão que surge refletida na nuca da Suzanne.</p>
<img src="img/ibl/hdr1.jpg" alt="..." class="img-responsive img-thumbnail center-block">
<div class="page-header">
<h2>Desafiar a criatividade</h2>
</div>
<p>A imagem abaixo foi criada com um plano e uma esfera, ambos utilizam um material Glossy. A iluminação foi criada com uma HDRI, a mesma HDRI utilizada na imagem acima.</p>
<img src="img/ibl/102.jpg" alt="..." class="img-responsive img-thumbnail center-block">
<p>A HDRI foi rodada em X e em Z até permitir uma iluminação e reflexos interessantes (o azul que surge do lado direito é emitido pela televisão que surge na fotografia).
Foi introduzido um nó de RGB Curves para manipular as cores e contrastes da HDRI, permitindo maior criatividade.</p>
<img src="img/ibl/100.jpg" alt="..." class="img-responsive img-thumbnail center-block">
<p>Nas opções da cena foram ainda ligeiramente alterados/experimentados alguns parâmetros de Color Management (gestão da cor).</p>
<img src="img/ibl/101.jpg" alt="..." class="img-responsive img-thumbnail center-block">
<div class="page-header">
<h2>Separar iluminação do fundo</h2>
</div>
<p>Na imagem abaixo, é utilizada uma configuração de nós que permite separar a imagem de fundo da iluminação ambiente da cena. Por outras palavras, a iluminação da cena vem da HDRI mas
o fundo é uma cor sólida (podia ser outra imagem). Repare que a iluminação é igual à da cena acima que utilizou uma HDRI capturada no interior de uma casa de banho.</p>
<p>
Nós utilizados (esq. para dir.): Texture Coordinate (Input), Mapping (Vector), Environment Texture (Texture), 2 nós Background, Mix Shader, Light Path (Input) e World Output.
</p>
<img src="img/ibl/separar.jpg" alt="..." class="img-responsive img-thumbnail center-block">
</div>
</div>
</div> <!-- /container -->
<!-- início do footer -->
<div data-include="footer.html"></div>
<!-- fim do footer -->
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="js/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/jquery.scrollTo.min.js"></script>
<script src="js/jquery.localScroll.min.js"></script>
<script src="js/csi.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("[rel=tooltip]").tooltip();
});
</script>
<script type="text/javascript">
jQuery(function( $ ){
/**
* Most jQuery.localScroll's settings, actually belong to jQuery.ScrollTo, check it's demo for an example of each option.
* @see http://flesler.demos.com/jquery/scrollTo/
* You can use EVERY single setting of jQuery.ScrollTo, in the settings hash you send to jQuery.LocalScroll.
*/
// The default axis is 'y', but in this demo, I want to scroll both
// You can modify any default like this
$.localScroll.defaults.axis = 'y';
/**
* NOTE: I use $.localScroll instead of $('#navigation').localScroll() so I
* also affect the >> and << links. I want every link in the page to scroll.
*/
$.localScroll({
target: 'body', // could be a selector or a jQuery object too.
queue:true,
duration:1000,
hash:true,
onBefore:function( e, anchor, $target ){
// The 'this' is the settings object, can be modified
},
onAfter:function( anchor, settings ){
// The 'this' contains the scrolled element (#content)
}
});
});
</script>
</body>
</html>