Giter VIP home page Giter VIP logo

celeris's Introduction

This archive contains the source code for Celeris software.
Celeris is developed by Sasan Tavakkol, on top of a previous 
demo project developed by Stephen Thompson.
The Celeris project was advised by Patrick Lynett, PhD.
This readme file is written orginally by Stephen,
and edited later by Sasan.


Contacts for Sasan Tavakkol:
        tavakkol [at] usc [.] edu or sasantavakkol [at] yahoo [.] com
Contacts for Patrick Lynett:
        plynett [at] usc [.] edu
Contacts for Stephen Thompson:
        stephen [at] solarflare [.] org [.] uk


Compiling
=========

A Visual Studio 2008 solution file is provided ("Celeris.sln" in
the "msvc" directory). Compiling should be straightforward, although
you will need to have the latest DirectX SDK correctly installed on
your machine.


Roadmap
=======

The source consists of three projects:

1) Coercri -- This is a simple wrapper library around operating system
functions (graphics, sounds and so on).

2) Guichan -- This is an open source GUI library which was used to
create the buttons and sliders at the right-hand side of the screen.

3) Celeris-- This is the main project. Briefly, the main files are as follows:

 * engine.cpp -- Main "engine" for the simulation, contains all the
   code that drives the GPU. The bulk of the code is found here.

 * compute.hlsl -- Contains shaders for doing the numerical simulation of
   the extended Boussinesq equations on the GPU.

 * graphics.fx -- Contains shaders for creating the graphical
   appearance of the land and water surfaces.

 * gui_manager.cpp -- Creates the GUI at the right-hand side of the
   screen.

 * settings.cpp -- Stores and manages simulation settings.

 * terrain_heightfield.cpp -- Contains formulas for determining the
   shape of the terrain.


Copyright / Legal Information
=============================

The Celeris software source code consists of four open source
components each of which has their own copyright and licence conditions.
The four components are:

1) Celeris itself
2) Coercri
3) Guichan
4) TinyXML

Each source code file identifies clearly (at the top of the file)
which licence applies to that file.

celeris's People

Contributors

sasantavakkol avatar sasantv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

celeris's Issues

Export simulation and terrain mesh

Hello. I’m testing the software and I’ve found some problems with the extraction of logs. When the experiment has a big domain (or even sometimes with small experiments like Conical Island), the software crashes. Is there any way to debug the software so I can try to see where is the problem? I've tried to enable debugging uncommenting this lines on the engine.cpp but I was unable to see the debug information:

// Debugging switches
#define DUMP_TO_FILE
#define RUN_CHECKS

I'm also trying to export the current status of the experiment in order to analyze it outside of Celeris, and I would like to know if it is possible to export the matrix of the sea and the terrain. My idea is basically have a matrix MxMy from the sea status and a static matrix from the bathymetry and see information outside of Celeris.

Maybe to something like this:

I'm not an expert on C++ and less in DirectX development. I’m working with the methods in main.cpp and I’m able to get information of the main variables like water height, u and v but, as I said earlier, I would like to know if there is a way I can extract all the mesh points at once and if it could be achieved using the methods in main.cpp.

Thank you.

Upgrade to a newer version of VS from VS 2008

Hi,
I was trying to compile Celeris on a Windows 10 machine with the Intel compiler and VS 2013. It looks like D3DX* is not supported anymore on latest DirectX SDK versions (https://blogs.msdn.microsoft.com/chuckw/2012/05/07/hlsl-fxc-and-d3dcompile/).
What are your compilation specifications ?
When I try with DirectX SDK (June 2010 version), it finds D3DX*, however i get an error due to fxc.exe. Do you have any idea where I have to look at for solving this ?
Louis

Fixing DirectX11 CompileFromFile Errors on Windows

Noting a bug + make-shift user solution + potential permanent solution for others regarding DirectX11 libraries / run-time compilation. This repositories owner knows about part of the issue, seen in both the User Manual for Celeris and:
#1

--- Issue:

Though Celeris app worked out-of-the-box on my Windows 10 Home system, it threw a 'CompileFromFile' error on a Windows 10 Enterprise system when loading a simulation via a cml file. It causes the same issues on a Wine emulation of Windows10 with Ubuntu 18.04.

I believe this is a D3DCompileFromFile() vs D3DX11CompileFromFile() issue. The latter is used in engine.cpp of the source code. Windows 8+ does not support D3DX11 SDK libraries natively, though games / visual studio sometimes install them. See:
https://gamedev.stackexchange.com/questions/136165/d3dx11compilefromfile-function-problem-directx11

--- Quick fix for users:

Download the the D3DX files from the following MS 2010 web link, as mentioned in the Celeris User Manual. Ignore that the dxwebsetup.exe is for Windows 7:
https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=35&tduid=(d5c34b75227807aea00cad2fc302b7da)(256380)(2459594)(TnL5HPStwNw-wC6WISUgqQM1hpaZ1Sq5Fg)()

This might fix things immediately for you, but it did not work on my system. However, it was fixed for me by:

right-click on the dxwebsetup.exe
Properties
Compatibility
Run this program in compatibility mode for :
Windows XP (Service Pack 2/3) [Or whichever Windows XP version is available for you]
Apply
OK
Try the Celeris.exe again

If it doesn't work still, you can check if DirectX is configured properly with command 'dxdiag' (called from the Windows search bar).

--- Potential code fix:

When using D3DX11CompileFromFile() or D3DCompileFromFile() in engine.cpp, may need to add
#include<D3DX11async.h>
or
#include <d3dcompiler.h>
respectively to the file for the desired function. Ideally, swap D3DX11CompileFromFile() -> D3DCompileFromFile(), making any necessary changes for the function arguments
https://learn.microsoft.com/en-us/windows/win32/direct3d11/d3dx11compilefromfile?redirectedfrom=MSDN  
https://learn.microsoft.com/en-us/windows/win32/api/d3dcompiler/nf-d3dcompiler-d3dcompilefromfile 

It would be better to do the latter D3DCompileFromFile() way as it is the modern DirectX approach. May also need to move HLSL / FX files around in the folders. See:
https://walbourn.github.io/hlsl-fxc-and-d3dcompile/

  • Justin

Building model and bathymetry

Hi.. I have a 3d model of a harbour done in AutoCAD. Is there anyway I can insert this model in Celeris and test for wave conditions?

Run on macOS and Linux

Would be possible to compile this project into macOS and Linux OS? Or is exclusive for Windows environments? Thank you very much for this project!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.