Andrei Thomaz
Since the beginning
Works in São Paulo Brazil

PORTFOLIO (3)
BIO
Andrei R. Thomaz is graduated in Fine Arts by UFRGS and currently courses a MFA at ECA/USP, São Paulo, Brazil, supervised by Silvia Laurentiz. He is studying the presence of labyrinths in electronic games. He has developed net art works since 2000, and the labyrinth is one of the main subjects in his works. These works can be seen at http://www.andreithomaz.com/.
Discussions (54) Opportunities (0) Events (4) Jobs (0)
DISCUSSION

Re: Another 3d Engine


hello Dirk,

yes, I have Processing installed in my computer, and I find it really
interesting. But I was afraid that a) I couldn't do this kind of thing
with Processing (I need to have access to the core of the 3d engine)
or than b) it would run slower - I guess that the processing language
is interpreted by a runtime written in Java (that is also interpreted,
by the JVM).

bye,
andrei

On 1/4/06, Dirk Vekemans <dv@vilt.net> wrote:
> Thanks for the explanation. It's an interesting approach. I started using
> Processing for Java things recently,do you know it? there's a growing
> artistic community sharing experiments using the Processing tool (see
> www.processing.org).
> Anyway, keep us posted on your work!
> dv

DISCUSSION

Re: Another 3d Engine


hello Dirk,

for now, the modifications are a bit more simple. They are in the way
the faces of the objects are "painted" on the screen. I used the
Java2D library to change the way the face being painted interacts with
the image already on the screen.

Think about the "Layer mode" in Photoshop and Gimp: normally, a layer
is drawn over the layer below it and, if it is semi-transparent, the
colors are combined with the colors below. But you have other modes of
combination: you can have XOR operations, subtraction from the colors
already on the screen, and so on.

This is what I have done: changed the way new polygons are painted on
the screen. For whom know Java and Java2D, all the magic is in the
AlphaComposite class. If what I said is not clear, please, look at the
class documentation (links below). The examples can be understood
without Java knowledge.

some explanation about "compositing graphics" in Java2d:
http://www.iam.ubc.ca/guides/javatut99/2d/display/compositing.html
AlphaComposite documentation:
http://download.java.net/jdk6/docs/api/java/awt/AlphaComposite.html#Xor

[]'s
andrei

On 1/4/06, Dirk Vekemans <dv@vilt.net> wrote:
> Andrei,
> It looks very intruiging. Could you say something more on the nature of your
> modifications? Most of them seem related to the temporal aspect of the
> rotation, using previous frames as feedback for rendering the next frame
> perhaps? Or are you mixing perspectives on the virtual object?
> dv
>
> > -----Oorspronkelijk bericht-----
> > Van: owner-list@rhizome.org [mailto:owner-list@rhizome.org]
> > Namens Andrei R. Thomaz
> > Verzonden: woensdag 4 januari 2006 4:43
> > Aan: Regina Pinto
> > CC: list@rhizome.org
> > Onderwerp: Re: RHIZOME_RAW: Another 3d Engine
> >
> > thanks Regina. I don't know if I am going to develop a
> > 'game'; for now, I want to study the space in games, and its
> > relation with mazes, and make works about that. Works that
> > are related to games. But, yes, I would like to make scenes
> > more complex with the modified engine.
> >
> > bye,
> > andrei
> >
> > Regina Pinto wrote:
> >
> > > Parabens Andrei, uma excelente pesquisa!
> > > Voce pretende desenvolver um "game"?
> > >
> > > Congratulations Andrei, an excellent research!
> > > Do you intend to develop a game?
> > >
> > > Regina Celia Pinto
> > >
> > >

DISCUSSION

Re: Another 3d Engine


hello Regina,

1) yes, I think it can. Violence is not a key element in SimCity, for example.
2) well, maybe the two things can happen. As I can think that I am
shooting my boss when I kill a monster in a game, I also can think I
am shooting a monster when I kill my teacher or my boss. So, it is not
so simple. We can't not blame games for making people think they can
solve their problems eliminating the others, because there is a lot of
religions and governments that think the same, since centuries ago.

bye,
andrei

On 1/4/06, Regina Pinto <reginapinto@arteonline.arq.br> wrote:
> Thanks for clarifying me Andrei. I am waiting for your answer to Dirk
> Vekemans questions, but also I would like to know if you are only
> researching the technology of games or if you are also researching the
> Philosophy of them. If so, there are some questions that I would like to ask
> you:
>
> 1- Do you think that a game without violence can be interesting?
>
> 2- Do not you think that the violence of games can make people think that
> real violence and wars are only games? Or do you think that the violence of
> games serves exactly for people liberate their own violence in an
> environment of game?
>
> Aquele abraco,
>
> Regina
>

DISCUSSION

Re: Another 3d Engine


thanks Regina. I don't know if I am going to develop a 'game'; for now,
I want to study the space in games, and its relation with mazes, and
make works about that. Works that are related to games. But, yes, I
would like to make scenes more complex with the modified engine.

bye,
andrei

Regina Pinto wrote:

> Parabens Andrei, uma excelente pesquisa!
> Voce pretende desenvolver um "game"?
>
> Congratulations Andrei, an excellent research!
> Do you intend to develop a game?
>
> Regina Celia Pinto
>
>
> ----- Original Message ----- From: "Andrei R. Thomaz"
> <andreithomaz@gmail.com>
> To: <list@rhizome.org>
> Sent: Tuesday, January 03, 2006 1:23 AM
> Subject: RHIZOME\_RAW: Another 3d Engine
>
>
>> [portuguese version below]
>>
>>
>> dear friends,
>>
>> I would like to send the url of my newest work:
>>
>> Another 3d Engine
>> http://www.rgbdesigndigital.com.br/atravesdoespelho/another3d/index\_en.htm
>>
>>
>> happy 2006,
>> andrei
>>
>>
>> ABOUT ANOTHER 3D ENGINE
>> 3D engines can be found in any software (game or application) using
>> 3D graphics. They are responsable for the rendering (exhibition at
>> the screen) of these graphics, doing the drawing of polygons, the
>> calculation of perspective and shading, and the texturing of objects.
>> They also do the transformations (rotation, offset, scale) of
>> objects, and many of they also do animations.
>>
>> As main criteria, and goal, of 3d engine creators, we have the search
>> of the highest possible level of realism at the images generated by
>> the 3d engines. Even when we have scenes that are not, apparently,
>> realists, what changes is the referencial of this realism. For
>> example, several games have scenes where we have low gravity (where
>> the referencial is, usually, the Moon surface) or zero gravity
>> (sideral space), but, in these cases, it's easy to identify the
>> referencial.
>>
>> In searching this realism, the 3d engines use different kinds of
>> algorithms. It is necessary to guarantee that closer polygons be
>> drawed over polygons more distant (they do a calculation to set the
>> order of drawing); the light and shading have to consider all the
>> light sources available at each scene, as well the materials
>> characteristics; if we have transparences, the 3d engine also needs
>> to draw correctly the objects that will be visible through the
>> transparent material. These, and others, are the things that
>> programmers have to worry about.
>>
>> Another 3d engine shows a set of modifications in the logic of a 3d
>> engine. For that, we used a relatively simple 3d engine, developped
>> in Java, Browser3D, distributed as open source software. We used the
>> library Java2D to make these changes, that happen in the drawing of
>> objects.
>>
>> For the first work of Another 3d Engine, we looked for a scene that
>> was the 3d equivalent of Hello World. Printing the message Hello
>> World at the computer screen is the task of the first program that a
>> beginner learns when studying any programming language; almost every
>> book and tutorial about programming start with an exampled called
>> Hello World. We choosed as the equivalent of Hello World the
>> rendering of a cube. Not a normal cube, but a color cube, as the
>> created at the first chapter of Getting Started with Java 3D, written
>> by Sun's team (Java3D is one of the most powerful libraries for the
>> rendering of tridimensional graphics available today).
>>
>> Each one of images below links for a different version of Another 3d
>> Engine; in eachone, the modifications I have done are different, in
>> such a way you will see different ways of drawing a color cube,
>> rotating around itself, at the computer screen.
>>
>> -------------------------------------------------------------------------------
>>
>>
>> caros amigos,
>>
>> dando inicio ao ano de 2006, gostaria de enviar para voces o endereco
>> do meu trabalho mais recente:
>>
>> Another 3d Engine
>> http://www.rgbdesigndigital.com.br/atravesdoespelho/another3d/
>>
>> []'s
>> andrei
>>
>>
>> SOBRE ANOTHER 3D ENGINE
>>
>> 3d engines sao encontrados em qualquer software (jogo ou aplicativo)
>> que utilize graficos tridimensionais. Eles sao responsaveis pela
>> renderizacao (exibicao) destes graficos, realizando o desenho de
>> poligonos, o calculo da perspectiva e do sombreamento, e o
>> preenchimento com texturas. Tambem calculam as transformacoes
>> (rotacao, deslocamento, escalonamento) dos objetos, e muitos tambem
>> disponibilizam funcoes de animacao.
>>
>> Como criterio principal de avaliacao e como objetivo principal dos
>> criadores de 3d engines, temos a busca do maior grau de realismo
>> possivel nas imagens geradas. Mesmo quando temos cenarios que nao
>> sao, aparentemente, realistas, o que muda e o referencial deste
>> realismo. Por exemplo, diversos jogos apresentam cenarios de baixa
>> gravidade (onde o referencial e, geralmente, a superficie da Lua) ou
>> de gravidade zero (espaco sideral), mas, nestes casos, raramente
>> temos dificuldade em identificar o referencial utilizado.
>>
>> Em busca desse realismo, os 3d engines se valem de diferentes metodos
>> de programacao. E preciso garantir que os poligonos mais proximos dos
>> observador sejam desenhados sobre os poligonos mais distantes
>> (realiza-se um calculo para determinar a ordem de desenho); a
>> iluminacao precisa levar em conta as fontes de luz disponiveis em
>> cada cena, bem como as caracteristicas dos materiais; se temos
>> transparencias, o sistema tambem precisa desenhar corretamente os
>> objetos que serao visiveis atraves do material transparente. Sao
>> estes e outros cuidados que os programadores precisam levar em conta.
>>
>> Another 3d engine apresenta uma serie de modificacoes na logica de um
>> 3d engine. Para isso, me baseei num 3d engine relativamente simples,
>> desenvolvido em Java, chamado Browser3D, distribuido como software
>> open source. A biblioteca Java2D foi utilizada para realizar estas
>> modificacoes, que atuam na forma como os objetos sao desenhados.
>>
>> Para a realizacao do primeiro trabalho de Another 3d Engine, procurei
>> uma cena que fosse o equivalente do 'hello world

DISCUSSION

Another 3d Engine


[portuguese version below]

dear friends,

I would like to send the url of my newest work:

Another 3d Engine
http://www.rgbdesigndigital.com.br/atravesdoespelho/another3d/index\_en.htm

happy 2006,
andrei

ABOUT ANOTHER 3D ENGINE
3D engines can be found in any software (game or application) using 3D
graphics. They are responsable for the rendering (exhibition at the
screen) of these graphics, doing the drawing of polygons, the
calculation of perspective and shading, and the texturing of objects.
They also do the transformations (rotation, offset, scale) of objects,
and many of they also do animations.

As main criteria, and goal, of 3d engine creators, we have the search of
the highest possible level of realism at the images generated by the 3d
engines. Even when we have scenes that are not, apparently, realists,
what changes is the referencial of this realism. For example, several
games have scenes where we have low gravity (where the referencial is,
usually, the Moon surface) or zero gravity (sideral space), but, in
these cases, it's easy to identify the referencial.

In searching this realism, the 3d engines use different kinds of
algorithms. It is necessary to guarantee that closer polygons be drawed
over polygons more distant (they do a calculation to set the order of
drawing); the light and shading have to consider all the light sources
available at each scene, as well the materials characteristics; if we
have transparences, the 3d engine also needs to draw correctly the
objects that will be visible through the transparent material. These,
and others, are the things that programmers have to worry about.

Another 3d engine shows a set of modifications in the logic of a 3d
engine. For that, we used a relatively simple 3d engine, developped in
Java, Browser3D, distributed as open source software. We used the
library Java2D to make these changes, that happen in the drawing of objects.

For the first work of Another 3d Engine, we looked for a scene that was
the 3d equivalent of Hello World. Printing the message Hello World at
the computer screen is the task of the first program that a beginner
learns when studying any programming language; almost every book and
tutorial about programming start with an exampled called Hello World. We
choosed as the equivalent of Hello World the rendering of a cube. Not a
normal cube, but a color cube, as the created at the first chapter of
Getting Started with Java 3D, written by Sun's team (Java3D is one of
the most powerful libraries for the rendering of tridimensional graphics
available today).

Each one of images below links for a different version of Another 3d
Engine; in eachone, the modifications I have done are different, in such
a way you will see different ways of drawing a color cube, rotating
around itself, at the computer screen.

-------------------------------------------------------------------------------

caros amigos,

dando inicio ao ano de 2006, gostaria de enviar para voces o endereco do
meu trabalho mais recente:

Another 3d Engine
http://www.rgbdesigndigital.com.br/atravesdoespelho/another3d/

[]'s
andrei

SOBRE ANOTHER 3D ENGINE

3d engines sao encontrados em qualquer software (jogo ou aplicativo) que
utilize graficos tridimensionais. Eles sao responsaveis pela
renderizacao (exibicao) destes graficos, realizando o desenho de
poligonos, o calculo da perspectiva e do sombreamento, e o preenchimento
com texturas. Tambem calculam as transformacoes (rotacao, deslocamento,
escalonamento) dos objetos, e muitos tambem disponibilizam funcoes de
animacao.

Como criterio principal de avaliacao e como objetivo principal dos
criadores de 3d engines, temos a busca do maior grau de realismo
possivel nas imagens geradas. Mesmo quando temos cenarios que nao sao,
aparentemente, realistas, o que muda e o referencial deste realismo. Por
exemplo, diversos jogos apresentam cenarios de baixa gravidade (onde o
referencial e, geralmente, a superficie da Lua) ou de gravidade zero
(espaco sideral), mas, nestes casos, raramente temos dificuldade em
identificar o referencial utilizado.

Em busca desse realismo, os 3d engines se valem de diferentes metodos de
programacao. E preciso garantir que os poligonos mais proximos dos
observador sejam desenhados sobre os poligonos mais distantes
(realiza-se um calculo para determinar a ordem de desenho); a iluminacao
precisa levar em conta as fontes de luz disponiveis em cada cena, bem
como as caracteristicas dos materiais; se temos transparencias, o
sistema tambem precisa desenhar corretamente os objetos que serao
visiveis atraves do material transparente. Sao estes e outros cuidados
que os programadores precisam levar em conta.

Another 3d engine apresenta uma serie de modificacoes na logica de um 3d
engine. Para isso, me baseei num 3d engine relativamente simples,
desenvolvido em Java, chamado Browser3D, distribuido como software open
source. A biblioteca Java2D foi utilizada para realizar estas
modificacoes, que atuam na forma como os objetos sao desenhados.

Para a realizacao do primeiro trabalho de Another 3d Engine, procurei
uma cena que fosse o equivalente do 'hello world


CURATED EXHIBITIONS (1)