chore: init

This commit is contained in:
2025-09-19 15:36:37 +02:00
commit 9d707a253a
2190 changed files with 17598 additions and 0 deletions

View 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 *|
\*---------------------------------------------------------------------*/

View 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 *|
\*---------------------------------------------------------------------*/

View 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 *|
\*---------------------------------------------------------------------*/

View 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 *|
\*---------------------------------------------------------------------*/