chore: init
This commit is contained in:
71
Student_Cuda_3D_Cube/src/core/scene/SceneCubeCreator.cpp
Executable file
71
Student_Cuda_3D_Cube/src/core/scene/SceneCubeCreator.cpp
Executable file
@@ -0,0 +1,71 @@
|
||||
#include <iostream>
|
||||
|
||||
#include "SceneCubeCreator.h"
|
||||
|
||||
#include "RipplingProvider.h"
|
||||
#include "MandelbrotProvider.h"
|
||||
|
||||
#include "RaytracingProviderGM.h"
|
||||
#include "RaytracingProviderSM.h"
|
||||
#include "RaytracingProviderCM.h"
|
||||
#include "RaytracingProviderCM2SM.h"
|
||||
|
||||
/*----------------------------------------------------------------------*\
|
||||
|* Implementation *|
|
||||
\*---------------------------------------------------------------------*/
|
||||
|
||||
/*--------------------------------------*\
|
||||
|* Constructor *|
|
||||
\*-------------------------------------*/
|
||||
|
||||
SceneCubeCreator::SceneCubeCreator()
|
||||
{
|
||||
createImages();
|
||||
createScene();
|
||||
}
|
||||
|
||||
SceneCubeCreator::~SceneCubeCreator()
|
||||
{
|
||||
delete ptrImage1;
|
||||
delete ptrImage2;
|
||||
delete ptrImage3;
|
||||
delete ptrImage4;
|
||||
delete ptrImage5;
|
||||
delete ptrImage6;
|
||||
|
||||
delete ptrScene;
|
||||
}
|
||||
|
||||
/*--------------------------------------*\
|
||||
|* Public *|
|
||||
\*-------------------------------------*/
|
||||
|
||||
SceneCube* SceneCubeCreator::getScene()
|
||||
{
|
||||
return ptrScene;
|
||||
}
|
||||
|
||||
/*--------------------------------------*\
|
||||
|* Private *|
|
||||
\*-------------------------------------*/
|
||||
|
||||
void SceneCubeCreator::createImages()
|
||||
{
|
||||
ptrImage1 = RipplingProvider().createImageGL();
|
||||
ptrImage2 = MandelbrotProvider().createImageGL();
|
||||
|
||||
ptrImage3 = RaytracingProviderGM().createImageGL();
|
||||
ptrImage4 = RaytracingProviderSM().createImageGL();
|
||||
ptrImage5 = RaytracingProviderCM().createImageGL();
|
||||
ptrImage6 = RaytracingProviderCM2SM().createImageGL();
|
||||
}
|
||||
|
||||
void SceneCubeCreator::createScene()
|
||||
{
|
||||
ptrScene = new SceneCube(ptrImage1, ptrImage2, ptrImage3, ptrImage4, ptrImage5, ptrImage6);
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*\
|
||||
|* End *|
|
||||
\*---------------------------------------------------------------------*/
|
||||
|
||||
61
Student_Cuda_3D_Cube/src/core/scene/SceneCubeCreator.h
Executable file
61
Student_Cuda_3D_Cube/src/core/scene/SceneCubeCreator.h
Executable file
@@ -0,0 +1,61 @@
|
||||
#pragma once
|
||||
|
||||
#include "SceneCube.h"
|
||||
#include "Image_I.h"
|
||||
|
||||
/*----------------------------------------------------------------------*\
|
||||
|* Declaration *|
|
||||
\*---------------------------------------------------------------------*/
|
||||
|
||||
class SceneCubeCreator
|
||||
{
|
||||
|
||||
/*--------------------------------------*\
|
||||
|* Constructor *|
|
||||
\*-------------------------------------*/
|
||||
|
||||
public:
|
||||
|
||||
SceneCubeCreator();
|
||||
|
||||
virtual ~SceneCubeCreator();
|
||||
|
||||
/*--------------------------------------*\
|
||||
|* Surcharge *|
|
||||
\*-------------------------------------*/
|
||||
|
||||
public:
|
||||
|
||||
SceneCube* getScene();
|
||||
|
||||
/*--------------------------------------*\
|
||||
|* Methodes *|
|
||||
\*-------------------------------------*/
|
||||
|
||||
private:
|
||||
|
||||
void createImages();
|
||||
void createScene();
|
||||
|
||||
/*--------------------------------------*\
|
||||
|* Attributs *|
|
||||
\*-------------------------------------*/
|
||||
|
||||
private:
|
||||
|
||||
// Outputs
|
||||
SceneCube* ptrScene;
|
||||
|
||||
// Tools
|
||||
Image_I* ptrImage1;
|
||||
Image_I* ptrImage2;
|
||||
Image_I* ptrImage3;
|
||||
Image_I* ptrImage4;
|
||||
Image_I* ptrImage5;
|
||||
Image_I* ptrImage6;
|
||||
|
||||
};
|
||||
|
||||
/*----------------------------------------------------------------------*\
|
||||
|* End *|
|
||||
\*---------------------------------------------------------------------*/
|
||||
50
Student_Cuda_3D_Cube/src/main/main.cpp
Executable file
50
Student_Cuda_3D_Cube/src/main/main.cpp
Executable file
@@ -0,0 +1,50 @@
|
||||
#include <iostream>
|
||||
|
||||
#include "CudaContextSimple.h"
|
||||
#include "Limits.h"
|
||||
|
||||
using std::cout;
|
||||
using std::cerr;
|
||||
using std::endl;
|
||||
|
||||
/*----------------------------------------------------------------------*\
|
||||
|* Imported *|
|
||||
\*---------------------------------------------------------------------*/
|
||||
|
||||
extern int mainCore(const Args& args);
|
||||
|
||||
/*----------------------------------------------------------------------*\
|
||||
|* Implementation *|
|
||||
\*---------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc , char** argv)
|
||||
{
|
||||
//Limits::show();
|
||||
|
||||
CudaContextSimple cudaContext;
|
||||
|
||||
// public
|
||||
{
|
||||
cudaContext.deviceId = 0; // in [0,2] width Server Cuda3
|
||||
|
||||
cudaContext.deviceDriver = DeviceDriver::LOAD_CURRENT; // LOAD_CURRENT LOAD_ALL
|
||||
cudaContext.deviceInfo = DeviceInfo::ALL_SIMPLE; // NONE ALL ALL_SIMPLE CURRENT
|
||||
}
|
||||
|
||||
// private
|
||||
{
|
||||
cudaContext.args.argc = argc;
|
||||
cudaContext.args.argv = argv;
|
||||
|
||||
cudaContext.mainCore = mainCore;
|
||||
}
|
||||
|
||||
return cudaContext.process();
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*\
|
||||
|* End *|
|
||||
\*---------------------------------------------------------------------*/
|
||||
|
||||
|
||||
|
||||
34
Student_Cuda_3D_Cube/src/main/mainCore.cpp
Executable file
34
Student_Cuda_3D_Cube/src/main/mainCore.cpp
Executable file
@@ -0,0 +1,34 @@
|
||||
#include <iostream>
|
||||
|
||||
#include "GLUTWindowScene.h"
|
||||
#include "GLUTWindowManagers.h"
|
||||
#include "Args.h"
|
||||
|
||||
#include "SceneCubeCreator.h"
|
||||
|
||||
using std::cout;
|
||||
using std::endl;
|
||||
|
||||
/*----------------------------------------------------------------------*\
|
||||
|* Implementation *|
|
||||
\*---------------------------------------------------------------------*/
|
||||
|
||||
void mainCore(const Args& args)
|
||||
{
|
||||
GLUTWindowManagers::init(args.argc, args.argv);
|
||||
|
||||
SceneCubeCreator sceneCubeCreator;
|
||||
SceneCube* ptrScene = sceneCubeCreator.getScene();
|
||||
|
||||
int w = 16 * 32 * 2;
|
||||
|
||||
GLUTWindowScene window(ptrScene, "Tuto Cube 3D", w, w, 60, 60); // (w,h, px,py)
|
||||
|
||||
cout<<"\nTourner-Zoomer"<<endl;
|
||||
|
||||
GLUTWindowManagers::getInstance()->runALL(); // bloquant
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*\
|
||||
|* End *|
|
||||
\*---------------------------------------------------------------------*/
|
||||
Reference in New Issue
Block a user