Показать сообщение отдельно
Старый 15.10.2009, 03:11   #239
Igor'
ПроЭктировщик
 
Аватар для Igor'
 
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений
(для 142 пользователей)
Ответ: Reality Engine Beta SDK 0.2a+

Сообщение от 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);
		}
(Offline)
 
Ответить с цитированием