Comments (3)
I believe there are things you could focus on when finding out who would use your software, and those are the advantages C++11 gives you. The theory behind this is that other frameworks (older) will not be in C++11 and therefore not as flexible as yours. So you can focus on someone who would build a new software (which may not only be games, what about 3D visualisations?) - and these people need clear examples on how to use it. Also, because the C++11 is yet to be widely used, you have time to do this while the other frameworks only catch up with features C++11 can give them.
Also, writing such examples (and tutorials) gives you some feedback on code you could improve.
from magnum.
Awesome ideas, thanks both :-)
Conventions and opinions
For me unconventional naming was mainly what scared me off many frameworks years ago (various SingletonControllerFactoryProvider
-like things), I would rather not introduce new terminology if it is not absolutely necessary (we have already signal/slot connections and features in SceneGraph
) and rather promote slightly different coding conventions (e.g. method chaining, "garbage collected" SceneGraph, various things unique to C++11) which will people get used to and then miss it in other frameworks.
Opinions - I think Design goals are a good start, although something more radical might be better :-)
Step-by-step learning with stub application
I like the idea about having "pre-packaged" stub application which can the user download, compile and then build upon. Native Client employs this idea and I think it works.
However I don't know what is the minimal set of features to include in the stub -- someone would want to just play with some postprocessing shader, someone wants to build a static scene, someone wants to do crazy offscreen image processing, someone wants it already ported to all platforms and integrated with that one physics engine... I think that at minimal it should contain some directory structure with all needed CMake files and main.cpp
with barebone Application
implementation with all the routine things already solved for the user. Solving trivial choices is very good point, thanks.
The tutorials are currently not written in step-by-step manner, but they are just explaining existing code. Will approach like "open this pre-made file, replace this line with this and see what happens" be better? This would be tedious to write and maintain for all tutorials and having it only in one doesn't cover all the remaining use cases.
Community
Yes! I think best would be to finish and polish a demo (Push the Box, probably), port it where possible (NaCl, Android, WebGL, native executables?) to show that this isn't just an academic project with no real use and then build at least some project website and publish it everywhere :-)
The website should contain link to live demo, feature list and some code examples showing how intuitively and easily it's done with C++11.
from magnum.
I think something useful is already done for now, let's close this so it doesn't creep here.
from magnum.
Related Issues (20)
- Update vcpkg packages to include EmscriptenApplication on Emscripten HOT 2
- Failing to link Magnum::Math? HOT 3
- few compile warnings HOT 1
- How to point to a local installation of `corrade` without using the bootstrap project? HOT 3
- undefined symbol: flextGLInit HOT 4
- Image rendered in gray since 1847c72 HOT 18
- Emscripten 3.1.21+ crashes EmscriptenApplication: "AsciiToString is not defined" HOT 4
- How to build from source on MSYS2 MINGW64? HOT 1
- keyReleaseEvent not triggered after printscreen on OSX HOT 6
- Conversion from CubicHermite to Bezier is wrong
- Mixing with raw openGL calls and Context::current().resetState() HOT 3
- C Bindings HOT 5
- WebGPU backend HOT 2
- Parallel rendering with glb files HOT 5
- Conflict with near and far Macros When Including WinSock2.h After Matrix4.h HOT 2
- emsdk compile error: typedef redefinition with different types HOT 4
- Memory leak when destroying GL::Mesh HOT 3
- Linking in Emscripten >= 3.1.52 doesn't work HOT 4
- Some trouble with LineGL3D shader when camera is close HOT 1
- Segmentation fault with nullptr instruction in AbstractShaderProgram at Cross-Compile HOT 21
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from magnum.