Сообщение от MoKa
На ютубе видел видяшку отличного АО, с этой же моделькой, не от туда ли АО?
|
Ога тоже видел,и демку смотрел,моделька от туда.
Только там AO в риалтайме смотрится стрёмна из за аккамуляции.
Я щас делаю оффлайн рейтрейсер ну типа MentalRay,Sunflow,etc.
Для редактора моделек и карт,с помощью него можно будет рендерить модельки со всякими плюшками типа Direct\Indirect Illumination,AO,PhotonMapping.
Хидер в движке так выглядит:
/*=============================================================================
Copyright 2009 Novartis-Games Team. All Rights Reserved.
Revision history:
* Created by Ustinov I.G.
=============================================================================*/
#pragma once
namespace BurnFX
{
struct RayTraceDesc
{
// Photon Mapping
int photonCount;
int photonEnergy;
// Ambien Occlusion
vec3 darkness;
int samples;
// Sky
vec3 sky_color;
// Direct\Indirect Illumination
bool indirectIllumination;
bool directIllumination;
// Output image
String filename;
void empty(){
photonCount = 0;
photonEnergy = 0;
darkness = vec3(0,0,0);
samples = 0;
sky_color = vec3(0,0,0);
directIllumination = false;
indirectIllumination = false;
}
void default(){
photonCount = 0;
photonEnergy = 0;
darkness = vec3(0,0,0);
samples = 8;
sky_color = vec3(0.1,0.1,0.7);
directIllumination = true;
indirectIllumination = false;
}
};
class IRayTracer
{
public:
virtual void trace( const RayTraceDesc& desc ) = 0;
};
}
Юзается так:
if(engine->isKeyPressed(IEngine::KEY_F6)){
engine->flushKey(IEngine::KEY_F6);
RayTraceDesc desc;
desc.default();
desc.filename = "raytrace.jpg";
engine->getRayTracer()->trace(desc);
}