sasantv / celeris Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
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.
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.
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
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/
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?
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!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.