Terça-feira, Dezembro 01, 2009

Ausência

Olá pessoal, o Blog anda sem atualizações e me desculpo por, isso bom agora é fim de ano e estou descansando a medida do possivel, também estou com milhares de tarefas que estão sugando toda energia dispónivel.

Quanto a Engine fiz uma motificação na hierarquia do projeto, a ODE está integrada ao projeto (na verdade adicionei o projeto no Makefile do ODE), também separei a engine do projeto do jogo, está separado desta maneira:

- ODE / OPCODE
- Newbie Game Engine (Código da Engine)
- Lunatycs - (Projeto do Game das ultimas imagens)
- Lab - (Usado para experiências).

Só falta ativar a camera, ai faço as atualições, tb to querendo aprontar algo com Apache, MySQL e WebServices na parte Web.

Um abraço e boas festas.

Quinta-feira, Outubro 22, 2009

Will Code HTML For FOOD

Muito boa éssa :-)





Ai é só achar uma rede Wi-Fi:



E pronto já posso virar Rippie.

Segunda-feira, Outubro 19, 2009

Newbie Game Engine Updates

Olá pessoal, um final de semana chuvoso no litoral acaba sendo bem produtivo, tenho já um roteiro para um game.

Playground Lunático

Playground Lunático é um jogo 3D, onde você pode utilizar de vários veiculos como Tanques de guerra, tratores, jipes, entre diversos outros e interagir com um cenário gigante com diversos objetos interativos. o único objetivo é provocar a destruição e semear o caos.

 andei dando uma brisada no blender e modelei um veiculo:

LN 1 Carnicinha:



A Lateral (Iluminação ruim):

Como vemos temos um canhão, que terá elevação de 60º.

Topo:



A base do canhão terá angulo de 180º.

Me arriscando no blender:



Ainda vai demorar umas semanas para fazer o LN 1 Carnicinha funcionar, mais valeu o exercicio criativo.

Algum Game Design de plantã HELP-ME PLEASE.

A ultima screen-shot da engine (ainda não atualizei o sf.net)


um chão com uma textura (Grama ou Concreto)? e um Sky box vão dar um aspecto legal, a rampa vermelha é um modelo (.obj), creio que ja de para fazer cenários pequenos já que ainda não há nenhuma técnica de particionamento de espaço.

gostei deste estilo de render vou dar uma explorada nele.

Até mais pessoal

Segunda-feira, Outubro 12, 2009

Newbie Game Engine Veiculos.

Bom pessoal, consegui deixar a simulação fisica estável, e fiz até um cena maneirinha ora demonstrar.




Você pode fazer o download do código no SF.
só não atualizei o svn

Até mais pessoal

Terça-feira, Setembro 22, 2009

Operações com vetor usando SSE Parte II

Parte I

Agora segue as quatro operações com vetores usando SSE foi usando g++ e o inline assembly, mais portar para outros compiladores é uma tarefa simples


**** vec4.hpp ****
#ifndef __vec4hpp__


typedef struct vec4f

{

float x;

float y;

float z;

float w;

}

vec4f __attribute__ ((aligned(16)));

// Soma de Vetores
inline vec4f operator+(vec4f a, vec4f b)

{

vec4f r;

asm("movaps %[ina], %%xmm0 \n\t" \

"movaps %[inb], %%xmm1 \n\t" \

"addps %%xmm0, %%xmm1 \n\r" \

"movaps %%xmm1, %[o] \n\t" \

: [o] "=m"(r)

: [ina] "m"(a), [inb] "m"(b));

return r;

}

// Subtração de Vetores
inline vec4f operator-(vec4f a,vec4f b)

{

vec4f r;

asm("movaps %[ina], %%xmm0 \n\t" \

"movaps %[inb], %%xmm1 \n\t" \

"subps %%xmm1, %%xmm0 \n\r" \

"movaps %%xmm0, %[o] \n\t" \

: [o] "=m"(r)

: [ina] "m"(a), [inb] "m"(b));

return r;

}

// Multiplicação de Vetores
inline vec4f operator*(vec4f a,vec4f b)

{

vec4f r;

asm("movaps %[ina], %%xmm0 \n\t" \

"movaps %[inb], %%xmm1 \n\t" \

"mulps %%xmm0, %%xmm1 \n\r" \

"movaps %%xmm1, %[o] \n\t" \

: [o] "=m"(r)

: [ina] "m"(a), [inb] "m"(b));

return r;

}

// Divisão de Vetores
inline vec4f operator/(vec4f a,vec4f b)
{

vec4f r;

asm("movaps %[ina], %%xmm0 \n\t" \

"movaps %[inb], %%xmm1 \n\t" \

"divps %%xmm1, %%xmm0 \n\r" \

"movaps %%xmm0, %[o] \n\t" \

: [o] "=m"(r)

: [ina] "m"(a), [inb] "m"(b));

return r;

}
#endif

*** EOF ***
 
Segue um teste básico
 
*** teste_cpp.cpp ****
 
#include "vec4.hpp"


#include

void printV(vec4f v)

{

printf("x: %f y: %f z: %f w: %f\n",v.x, v.y, v.z, v.w);

}



int main(int argc,char **argv)

{

vec4f a = {10.f,10.0f,10.0f,10.0f};

vec4f b = {2.0f,2.0f,2.0f,2.0f};

vec4f c;
printf("a ");

printV(a);

printf("b ");

printV(b);

c = a + b;

printf("a + b \n");

printV(c);

c = a - b;

printf("a - b \n");

printV(c);

c = a * b;

printf("a * b \n");

printV(c);

c = a / b;

printf("a / b \n");

printV(c);

vec4f z = a*a / b;


printf("z = a*a /b \n");

printV(z);

return 0;

}
 *** EOF ***


O Resultado:
a x: 10.000000 y: 10.000000 z: 10.000000 w: 10.000000


b x: 2.000000 y: 2.000000 z: 2.000000 w: 2.000000

a + b

x: 12.000000 y: 12.000000 z: 12.000000 w: 12.000000

a - b

x: 8.000000 y: 8.000000 z: 8.000000 w: 8.000000

a * b

x: 20.000000 y: 20.000000 z: 20.000000 w: 20.000000

a / b

x: 5.000000 y: 5.000000 z: 5.000000 w: 5.000000

z = a*a /b

x: 50.000000 y: 50.000000 z: 50.000000 w: 50.000000


por equanto tudo tranquilo, o próximo passo é fazer as multiplicação por matrizes, apesar de não ser ideal fazer por SSE mas é de maneira geral um artigo interessante, então no próximo da série trataremos de multiplicação de vetores por matrizes

Terça-feira, Setembro 15, 2009

Newbie Game Engine Updates

Fiz algumas melhorias na Classe de Terreno e Mesh (Terreno herda de Mesh) e o Mesh que carregava wavefront virou Wavefront.h, mas o mapa ainda ta com problema precisa de diversas melhorias,
outra novidade é o build pra vs2005 (buid/vs2005).



na imagem acima a esfera não colide com o terreno, vai ser um problema desagradavél de se resolver.

atualizei o código no sf, mas ainda não fiz o commit no svn. Agora vou ouvir The Gladiators e jogar, tb tenho que terminar de instalar as dependecias do GNU Octave.

Segunda-feira, Setembro 14, 2009

Ánalise numérica ON-LINE

Galera achei uma interface web para o programa GNU Octave (equivalente ao Matlab), os gentis senhores do Department of Mathematics, Warsaw University. (Polonia), emprestão seus processadores para fazermos os nossos calculos on-line.

 
me divertindo um pouco criei esta plot:

x = y = -10:0.1:10;
[X,Y] = meshgrid(x,y);
mesh(X,Y,(1./X).*sin(X).*(1./Y).*sin(Y));

não há limites quanto ao tempo de computação mais esses generosos senhores pedem:

"Please do not submit codes that will run for a long time or take up a lot of memory. This service is intended for occasional, quick computations. Use "Files -> Remove all files" button to clear your workspace after you are done. All your activities are being logged. If you don't like this policy, don't use this service. "




agora quando tiver perdido em algum lugar em posse de um computador e tiver que fazer um calulo já sabe onde deve ir: http://hara.mimuw.edu.pl/weboctave/web/index.php

a interface Web é um projeto Open Source  está no Source Forge
http://sourceforge.net/projects/weboctave/