paysages3d/src/tests/Bruneton_Test.cpp

76 lines
3.7 KiB
C++

#include "Bruneton_Test.h"
CPPUNIT_TEST_SUITE_REGISTRATION(Bruneton_Test);
#include "System.h"
#define OUTPUT_WIDTH 400
#define OUTPUT_HEIGHT 300
static Color _postProcessFragment(Renderer* renderer, Vector3 location, void* data)
{
return renderer->atmosphere->applyAerialPerspective(renderer, location, COLOR_BLACK).final;
}
Bruneton_Test::testBrunetonAerialPerspective()
{
Renderer* renderer = sceneryCreateStandardRenderer();
renderer->render_width = 800;
renderer->render_height = 600;
renderer->render_quality = 1;
cameraSetLocation(renderer->render_camera, VECTOR_ZERO);
cameraSetTarget(renderer->render_camera, VECTOR_EAST);
cameraSetRenderSize(renderer->render_camera, renderer->render_width, renderer->render_height);
RenderParams params = {renderer->render_width, renderer->render_height, 1, 1};
renderSetParams(renderer->render_area, params);
renderSetBackgroundColor(renderer->render_area, &COLOR_BLACK);
renderClear(renderer->render_area);
renderer->pushQuad(renderer, v3(50.0, -10.0, -50.0), v3(1.0, -10.0, -50.0), v3(1.0, -10.0, 50.0), v3(50.0, -10.0, 50.0), _postProcessFragment, NULL);
renderer->pushQuad(renderer, v3(10.0, -10.0, -10.0), v3(10.0, -10.0, -5.0), v3(10.0, 50.0, -5.0), v3(10.0, 50.0, -10.0), _postProcessFragment, NULL);
renderer->pushQuad(renderer, v3(15.0, -10.0, -5.0), v3(15.0, -10.0, 0.0), v3(15.0, 50.0, 0.0), v3(15.0, 50.0, -5.0), _postProcessFragment, NULL);
renderer->pushQuad(renderer, v3(20.0, -10.0, 5.0), v3(20.0, -10.0, 10.0), v3(20.0, 50.0, 10.0), v3(20.0, 50.0, 5.0), _postProcessFragment, NULL);
renderer->pushQuad(renderer, v3(30.0, -10.0, 25.0), v3(30.0, -10.0, 30.0), v3(30.0, 50.0, 30.0), v3(30.0, 50.0, 25.0), _postProcessFragment, NULL);
renderPostProcess(renderer->render_area, tests_cpu_count);
renderSaveToFile(renderer->render_area, "./output/test_bruneton_perspective.png");
rendererDelete(renderer);
}
Bruneton_Test::testBrunetonAerialPerspective1()
{
AtmosphereDefinition* atmo = AtmosphereDefinitionClass.create();
sceneryGetAtmosphere(atmo);
atmo->hour = 6;
atmo->minute = 30;
scenerySetAtmosphere(atmo);
AtmosphereDefinitionClass.destroy(atmo);
Renderer* renderer = sceneryCreateStandardRenderer();
renderer->render_width = 800;
renderer->render_height = 600;
renderer->render_quality = 1;
cameraSetLocation(renderer->render_camera, VECTOR_ZERO);
cameraSetTarget(renderer->render_camera, VECTOR_EAST);
cameraSetRenderSize(renderer->render_camera, renderer->render_width, renderer->render_height);
RenderParams params = {renderer->render_width, renderer->render_height, 1, 1};
renderSetParams(renderer->render_area, params);
renderSetBackgroundColor(renderer->render_area, &COLOR_BLACK);
renderClear(renderer->render_area);
renderer->pushQuad(renderer, v3(50.0, -10.0, -50.0), v3(1.0, -10.0, -50.0), v3(1.0, -10.0, 50.0), v3(50.0, -10.0, 50.0), _postProcessFragment, NULL);
renderer->pushQuad(renderer, v3(10.0, -10.0, -10.0), v3(10.0, -10.0, -5.0), v3(10.0, 50.0, -5.0), v3(10.0, 50.0, -10.0), _postProcessFragment, NULL);
renderer->pushQuad(renderer, v3(15.0, -10.0, -5.0), v3(15.0, -10.0, 0.0), v3(15.0, 50.0, 0.0), v3(15.0, 50.0, -5.0), _postProcessFragment, NULL);
renderer->pushQuad(renderer, v3(20.0, -10.0, 5.0), v3(20.0, -10.0, 10.0), v3(20.0, 50.0, 10.0), v3(20.0, 50.0, 5.0), _postProcessFragment, NULL);
renderer->pushQuad(renderer, v3(30.0, -10.0, 25.0), v3(30.0, -10.0, 30.0), v3(30.0, 50.0, 30.0), v3(30.0, 50.0, 25.0), _postProcessFragment, NULL);
renderPostProcess(renderer->render_area, tests_cpu_count);
renderSaveToFile(renderer->render_area, "./output/test_bruneton_perspective1.png");
rendererDelete(renderer);
}