Beispiel #1
0
	void Logger::InitializeLogStream()
	{
		SceneManager::GetInstance()->GetStopwatch()->CreateTimer(_T("STAR_LogSaveFileTimer"), 60.0f,
			false, true, [&] () { SaveLogFile(); }, false);

		m_LogStream << _T("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\n");
		m_LogStream << _T("	Star Engine version ") << STARENGINE_VERSION << std::endl << std::endl;
		m_LogStream << _T("	Game is build in");

	#ifdef _DEBUG
		m_LogStream << _T(" debug mode.\n");
	#else
		m_LogStream << _T(" release mode.\n");
#endif
	#if LOGGER_MIN_LEVEL < 2
		m_LogStream << _T("	All Star::Logging levels are enabled.\n");
	#elif LOGGER_MIN_LEVEL < 3
		m_LogStream << _T("	Star::Logging level info is disabled.\n");
	#elif LOGGER_MIN_LEVEL < 4
		m_LogStream << _T("	Star::Logging levels info and warning is disabled.\n");
	#elif LOGGER_MIN_LEVEL < 5
		m_LogStream << _T("	Star::Logging levels info, warning and error is disabled.\n");
	#elif LOGGER_MIN_LEVEL < 6
		m_LogStream << _T("	All Star::Logging levels are disabled.\n");
	#endif
		m_LogStream << std::endl;
		m_LogStream << _T("	The Star Engine is licensed under the MIT License. \n");
		m_LogStream << _T("	For more information you can go to http://www.starengine.com/ \n\n");
		m_LogStream << _T("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\n");
	}
Beispiel #2
0
	void Logger::SetLogSaveDelayTime(float32 seconds)
	{
#ifndef NO_LOG_FILE
		SceneManager::GetInstance()->GetStopwatch()->SetTargetTimeTimer(
			_T("STAR_LogSaveFileTimer"), seconds, true, false);
		SaveLogFile();
#endif
	}
Beispiel #3
0
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{

	RECT rect;
	int cc;
	wc.style = CS_OWNDC | CS_VREDRAW | CS_HREDRAW;
	wc.lpfnWndProc = WndProc;
	wc.cbClsExtra = wc.cbWndExtra = 0;
	wc.hInstance = 0;
	wc.hIcon = NULL;
	wc.hCursor = LoadCursor(0,IDC_ARROW);
	wc.hbrBackground = NULL;
	wc.lpszMenuName = NULL;
	wc.lpszClassName = "raytracer";
	if (!RegisterClass(&wc)) return FALSE;
	rect.left = rect.top = 0;
	rect.right = SCRWIDTH, rect.bottom = SCRHEIGHT;
	AdjustWindowRect( &rect, WS_POPUP|WS_SYSMENU|WS_CAPTION, 0 );
	rect.right -= rect.left, rect.bottom -= rect.top;
	wnd = CreateWindowEx( 0, "raytracer", "raytracer", WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX & ~WS_THICKFRAME,
		CW_USEDEFAULT, CW_USEDEFAULT, rect.right, rect.bottom, 0, 0, 0, 0 );
	ShowWindow(wnd,SW_NORMAL);
	for ( cc = 0; cc < sizeof( BITMAPINFOHEADER ) + 16; cc++ ) bitmapbuffer[cc] = 0;
	bh = (BITMAPINFO *)&bitmapbuffer;
	bh->bmiHeader.biSize = sizeof( BITMAPINFOHEADER );
	bh->bmiHeader.biPlanes = 1;
	bh->bmiHeader.biBitCount = 32;
	bh->bmiHeader.biCompression = BI_BITFIELDS;
	bh->bmiHeader.biWidth = SCRWIDTH, bh->bmiHeader.biHeight = -SCRHEIGHT;
	((unsigned long*)bh->bmiColors)[0] = 255 << 16;
	((unsigned long*)bh->bmiColors)[1] = 255 << 8;
	((unsigned long*)bh->bmiColors)[2] = 255;
	window_hdc = GetDC(wnd);
	SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 0, 0, 0);
	initConf(config);
	// prepare output canvas
	surface = new Surface(SCRWIDTH,SCRHEIGHT);
	buffer = surface->GetBuffer();
	surface->Clear(0);
	AllocConsole();   //Sortie Console
	freopen("CONOUT$","wb",stdout);


	clock_scene.begin(); // ---> start clock_scene

	// prepare renderer
	Scene* maScene = new Scene();
	maScene->chargerScene(config.filename);
	maScene->afficherScene();

	tracer = new Engine(config);
	tracer->SetScene(maScene);
	tracer->SetTarget(surface->GetBuffer(),SCRWIDTH, SCRHEIGHT );
	int tpos = 60;

	clock_scene.end(); // ---> end clock_scene		

	system("Pause");

	
		tracer->InitRender();
	clock_render.begin(); // ---> start clock_render
		tracer->Render(); //calcul de l'image
	clock_render.end(); // ---> end clock_render

	SaveImage("test.ppm",tracer->GetImage());
	
	SaveLogFile("Resultat.log",config);
	afficherClock();

	while (1)
	{
		DrawWindow();
	}

FreeConsole();  // Close the console window

	return 1;
}