Показать сообщение отдельно
Старый 10.05.2009, 12:56   #29
Genius
Знающий
 
Аватар для Genius
 
Регистрация: 02.11.2007
Сообщений: 255
Написано 27 полезных сообщений
(для 43 пользователей)
Ответ: Reality Engine Beta SDK 0.2a+

Доделал таки Deferred Shading в движке,правдо SpotLight ещё не сделал

Вот как выглидит код:

#include "..\Engine/Engine.h"
#include "windows.h"
#include <stdio.h>
#include <iostream>
#include <string>
#include <vector>
#include <stdlib.h>

using namespace std;


void main(){

EngineInitialize("Reality-Engine.html","d3d9","","");

Graphics3D(1024,768,32,true,false);
SetBuffer(BackBuffer());

DeferredInitialize();

TFont font = LoadFont("Arial",12,true);
SetFont(font);
Color(1,1,1,1);

TWorld world = CreateWorld();
SetWorld(world);

SetCurrentDirectory("media");

TCamera camera = CreateCamera();
CameraClsColor(camera,0,0,0);
CameraRange(camera,1,100000000);
CameraViewport(camera,0,0,GraphicsWidth(),Graphics Height());
PositionEntity(camera,0,10,-30);



TMesh model = CreateCube();
PositionEntity(model,0,15,0);
TMesh room = LoadMesh("level.b3d");
OptimizeMesh(room);
TMesh chel = LoadMesh("ut3.b3d");
OptimizeMesh(chel);
PositionEntity(chel,0,1,-30);
OptimizeMesh(model);




UpdateNormals(room);
UpdateTangents(room);

EntityTexture(model,LoadTexture("Rockwall_Diffuse. jpg",TEXTURE_2D_STAND),0,0);
EntityTexture(model,LoadTexture("Rockwall_Normal.p ng",TEXTURE_2D_STAND),0,1);

TShader shader = LoadShader("","GBuffer.fx");
EntityShader(model,shader);
TShader shaders = LoadShader("","GBufferShared.fx");
EntityShader(room,shaders);
EntityShader(chel,shader);

TLight omni = CreateLight(POINT_LIGHT);
LightRange(omni,50);
LightColor(omni,0.9f,0.3f,0.3f);
PositionEntity(omni,0,10,-35);

TLight omni4 = CreateLight(DIRECTIONAL_LIGHT);
LightColor(omni4,1,1,1);
PositionEntity(omni4,0,520,0);



float move = 9.0f;

while(!KeyDown(KC_ESCAPE)){


TurnEntity(model,0,0.5f,0);
TurnEntity(camera,MouseYSpeed(),MouseXSpeed(),0);

if( KeyDown(KC_Q))
MoveEntity(camera,0,move,0);

if( KeyDown(KC_E))
MoveEntity(camera,0,-move,0);

if( KeyDown(KC_W))
MoveEntity(camera,0,0,move);

if( KeyDown(KC_S))
MoveEntity(camera,0,0,-move);

if( KeyDown(KC_A))
MoveEntity(camera,-move,0,0);

if( KeyDown(KC_D))
MoveEntity(camera,move,0,0);

if(KeyDown(KC_LSHIFT))
move = 14;
else
move = 9;



UpdateWorld();

SetBuffer(GetGBuffer());
RenderWorld();
SetBuffer(BackBuffer());


RenderLights();


char buf[512];
sprintf(buf,"FPS:%d",FPS());
Text(0,GraphicsHeight()-30,buf);
sprintf(buf,"Tris:%d",TrisRendered());
Text(0,GraphicsHeight()-50,buf);

Flip();
}
EngineShutdown();
}

А в атч скрин как это выглидит.
Миниатюры
Нажмите на изображение для увеличения
Название: RE_2.0_Alpha.jpg
Просмотров: 841
Размер:	365.0 Кб
ID:	6028  
(Offline)
 
Ответить с цитированием