|
Monday, October 01, 2007
 |
9:35 AM - Extreme Photoshopping
Current mood: amused
Here is the game that I did yesterday:
I took a picture of a person that isn't attractive, and make a beauty out of her:
Original picture:

After some photoshopping:


The punchline?
Don't trust all that photos that you see on myspace! 
 |
Currently
listening
:
This Is Forever
By
She Wants Revenge
Release date: 09 October, 2007
|
2 Comments - 0 Kudos
- Add Comment
|
|
|
|
Tuesday, June 13, 2006
 |
5:30 PM - Fast rendering
Category: Art and Photography
Here is a small rendering that I did today.
The 3d model wasn't finished yet, but I liked this picture very much.

1 Comments - 0 Kudos
- Add Comment
|
|
|
|
Tuesday, April 18, 2006
 |
10:20 AM - Final obj exporter
Here is a final version of my OBJ exporter. It adds some new features like: -Texture export -Renaming materials, objects and textures (obj format doesn't allow whitespaces so, if object name contain them - we need to convert them to underscore character)
Final CMO2OBJ exporter
1 Comments - 2 Kudos
- Add Comment
|
|
|
|
Sunday, April 16, 2006
 |
6:15 PM - Update on OBJ exporter
Here is an update of my OBJ exporter. New features are: -Exporter can create Material libraries (.mtl) -Material Libraries contain information about diffuse, ambient, specular color, and Diffuse Map name (without extension). Here you can download an updated version: CMO2OBJ Exporter
0 Comments - 0 Kudos
- Add Comment
|
|
|
|
Friday, April 14, 2006
 |
6:45 AM - CMO2OBJ Exporter
Current mood: accomplished
Category: Games
I've been working lately on my OBJ exporter for virtools. Here you can download an alpha version. DOWNLOAD CMO2OBJ
Features: - mesh is exported correctly (no object mirroring or turning upside down) -Texture coordinates are exported for use inside MAX (no flipped UV space) -Objects are separated on export wich means that all object names are preserved -Exporter doesn't export local pivot - this is due to a limitations of OBJ format -Object faces get separated on UV seams (due to a limitation of how virtools handles meshes) -Everything is done via BuildingGraphs - this is usefull feature because you can use it in runtime for Online content To do: -Exporting smoothing groups -Material libraries and (eventually) texture export
0 Comments - 0 Kudos
- Add Comment
|
|
|
|
Wednesday, March 29, 2006
 |
6:05 AM - SSS application
Here is a screenshot that demonstrates SSS effects usage in simulating internal cloud dynamic illumination (usefull for all kind of explosions, lighting effects) with simulation of cloud depth.

2 Comments - 0 Kudos
- Add Comment
|
|
 |
5:26 AM - Subsurface Scattering shader
Current mood: accomplished
Category: Games
Per rendere la iluminazione delle nuvole piu convincente avevo il bisogno di un HLSL shader capace di simulare il Subsurface Scattering. Questo shader e alla fine molto semplice. Un bel esempio come si possono ottenere effetti convincenti con poche risorse.

Il video: VIDEO DIVX
In order to render the illumination of clouds more convincing I had a need of an HLSL shader able to simulate the Subsurface Scattering. This shader is quite simple. A beautiful example how a convincing effects can be obtained with a little resources.
Here you can find a complete shader code in HLSL (this shader is Virtools ready, in other programs you will probably have to change some lines):
//Subsurface scattering shader by Oliver Pavicevic (olix@iol.it)
.r{}************ TWEAKABLES **************/
half4 surfColor : Diffuse = {1.0f, 1.0f, 1.0f, 1.0f};
texture colorTexture : Texture;
.r{}************* light info **************/
half3 light1Pos <string type="entity3d";> = {100.0f, 100.0f, 100.0f};
half4 light1Color = { 1.0f, 1.0f, 1.0f, 0.0f };
half4x4 wvp : WorldViewProjection < string UIWidget = "None"; >;
half4x4 worldI : WorldInverse < string UIWidget = "None"; >;
half4x4 viewInvTrans : ViewInverse < string UIWidget = "None"; >;
half attenuation1 <
string UIWidget = "slider";
float UIMin = 0;
float UIMax = 1000;
string UIName = "close attenuation";
> = 100;
half attenuation2 <
string UIWidget = "slider";
float UIMin = 0;
float UIMax = 128;
string UIName = "medium attenuation";
> = 10;
half attenuation3 <
string UIWidget = "slider";
float UIMin = 0;
float UIMax = 1;
string UIName = "far attenuation";
> = 0.3;
.r{}***************************************************/
.r{}********* HLSL SHADER FUNCTIONS *********************/
.r{}***************************************************/
// input from application
struct a2v {
half4 position : POSITION;
half2 texCoord : TEXCOORD0;
half3 tangent : TEXCOORD1;
half3 binormal : TEXCOORD2;
half3 normal : NORMAL;
};
// output to fragment program
struct v2f {
half4 position : POSITION;
half2 texCoord : TEXCOORD0;
half3 lightVec : TEXCOORD2;
};
// blinn lighting with lit function
half4 blinn2(half3 N,
half3 L,
half3 V,
uniform half4 diffuseColor,
uniform half4 specularColor,
uniform half shininess
)
{
half3 H = normalize(V L);
half4 lighting = lit(dot(L,N), dot(H,N),0);
return diffuseColor*lighting.y ;
}
.r{}*************************************/
.r{}**** VERTEX SHADER ******************/
.r{}*************************************/
v2f v(a2v In,
uniform half4x4 worldViewProj, // object to clip space
uniform half4x4 WorldIMatrix, //world to object space
uniform half4 lightPosition,
uniform half4x4 ViewInvTrans )
{
v2f Out;
// transform vertex position to homogeneous clip space
Out.position = mul(In.position, worldViewProj);
//pass texture coordinates
Out.texCoord = In.texCoord;
// compute the 3x3 tranform from tangent space to object space
half3x3 objTangentXf;
objTangentXf[0] = In.tangent.xyz;
objTangentXf[1] = In.binormal.xyz;
objTangentXf[2] = In.normal.xyz;
//put the world space light position in object space
half4 objSpaceLightPos = mul(lightPosition, WorldIMatrix);
half3 objLightVec = objSpaceLightPos.xyz - In.position.xyz;
// xform light vector from obj space to tangent space
Out.lightVec = mul(objTangentXf, objLightVec );
//compute the eye vector in world space and put it in object space
half4 objSpaceEyePos = mul(ViewInvTrans[3], WorldIMatrix);
return Out;
}
.r{}*************************************/
.r{}**** FRAGMENT PROGRAM ***************/
.r{}*************************************/
float4 f(v2f In,
uniform sampler2D colorTex,
uniform half4 diffuseColor,
uniform half4 light1Color,
uniform half attenuation1,
uniform half attenuation2,
uniform half attenuation3
) : COLOR
{
//fetch the diffuse map
half4 colorMap = tex2D(colorTex, In.texCoord.xy);
//calculate attenuation
half d = length(In.lightVec);
half attenuation = 1 / ((attenuation1) (attenuation2 * d) (attenuation3 * d * d));;
//Subsurface Scattering
half4 SS = (light1Color*1200) * blinn2(1, 0.02, 0, colorMap*diffuseColor, colorMap.a, 0) * attenuation;
return SS;
}
.r{}***************************************************/
.r{}********* SAMPLERS ********************************/
.r{}***************************************************/
sampler2D colorTextureSampler = sampler_state
{
Texture = ;
MinFilter = Linear;
MagFilter = Linear;
MipFilter = Linear;
};
.r{}***************************************************/
.r{}********* TECHNIQUES ******************************/
.r{}***************************************************/
technique Complete
{
pass envPass
{
VertexShader = compile vs_1_1 v(wvp,worldI,half4(light1Pos,1),viewInvTrans);
ZEnable = true;
ZWriteEnable = true;
//CullMode = CW;
PixelShader = compile ps_2_0 f(colorTextureSampler,surfColor,light1Color,attenuation1,attenuation2,attenuation3);
}
}
1 Comments - 0 Kudos
- Add Comment
|
|
|
|
Friday, March 17, 2006
 |
5:34 PM - Distribuzione della luce - Light Distribution
Category: Games
Qui e possibile vedere come la luce del cielo influenza la illuminazione degli ogetti.

Here you can see how skylight influences object lighting.
 |
Currently
listening
:
Look to the Rainbow
By
Al Jarreau
Release date: 25 October, 1990
|
0 Comments - 0 Kudos
- Add Comment
|
|
 |
2:12 PM - Sole - Sun
Category: Games
Oggi ho implemenatato il sistema di rendering del sole con l'efetto di lens flare. La visualisazione del sole comprende l'efetto di ingrandimento del sole quando esso si avvicina al orrizonte (dovuto alla rifrazione del aria). Il prossimo passo sara la implementazione della colorizazzione del atmosfera (per poter simulare efficente il tramonto) legato alla posizione del sole e la temperatura atmosferica.

Today I have implemented rendering system of the sun with the effect of lens flare. The visualistion of the sun comprises the effect of blowup of the sun when it approaches horisont line (due to the refraction of the air). The next step will be the implementation of atmospherical color changes (for being able to simulate sunset efficiently ) connected to the parameters as the position of the sun and the atmospheric temperature.
 |
Currently
listening
:
Ok Computer
By
Radiohead
Release date: 01 July, 1997
|
0 Comments - 0 Kudos
- Add Comment
|
|
|
|
Thursday, March 16, 2006
 |
7:07 PM - SkyDome2
Category: Games
Stasera ho cambiato interamente il codice per il mio sistema della illuminazione delle nuvole e il cielo. Ho aggiunto alcune cose che facilitano la creazione e il scripting delle atmosfere. Il mio primo sistema aveva troppi controlli che non erano molto intuitivi - questo nuovo sistema mi permette di simulare le condizioni atmosferiche in maniera piu veloce - perche e basato sulla posizione del sole. Questo vuol dire che le animazioni delle condizioni di luce saranno piu ottimizate. Qui ci sono alcuni risultati fatti in 5 minuti:

This evening I have changed entire code for my sky system . I have added some things that facilitate the creation and the scripting of atmospheres. My first system had too many controls that were not many intuitive - this new system allows me to simulate the atmospheric conditions in fast way - it's based on the position of the sun. This wants to say that the animations of the light conditions will be more optimised. Here there are some images that I made in 5 minutes:
 |
Currently
listening
:
Turn On the Bright Lights
By
Interpol
Release date: 20 August, 2002
|
0 Comments - 0 Kudos
- Add Comment
|
|