makman2 / ce3d2 Goto Github PK
View Code? Open in Web Editor NEWA simple 3D engine for the console
License: GNU General Public License v3.0
A simple 3D engine for the console
License: GNU General Public License v3.0
Like this:
######
#############
#####################
#################
#############
#########
#####
#
The World
class shall
Model
swhile maintaining performance and flexibility.
This transformation type allows for custom matrices.
Calculates the Z-distance correctly via the euclidean norm.
Override OrthogonalProjection
that calculates into another vector-compoment an approximation of the (Z-)distance to the transformed vector.
CE3D2 needs a script for packaging itself, so a release can directly made invoking this script.
This header file shall include all CE3D2 modules so you can just write
#include <CE3D2>
The TransformationChain
allows to group transformations together. This issue covers the non-linear variant for all transformation types.
Some references are not auto-linked as expected.
The guideline is now:
TextSurface
()
, then they are auto-linked correctly. E.g. copy_from()
Hey, you use CMake to generate compiler flags, I think you could use those easily and pass them to clang to get the coala clang analytics run correctly, would be nice to have, wouldn't it?
This would be a little performance and code-readability improvement if someone needs to permanently reset the complete rotation plane.
By default the rendered dot-char is a normal dot (.
). The user should be able to specify something else (e.g. like x
or #
).
Maybe using https://github.com/assimp/assimp for it.
CE3D2/CMakeLists.txt
change the CE3D2_VERSION_MICRO
to 0
instead of dev
.CE3D2/doxyfile.in
change the PROJECT_NUMBER
entry to ${PROJECT_VERSION}
only.Deployment tasks:
CE3D2/CMakeLists.txt
change the CE3D2_VERSION_MICRO
to 0
instead of dev
.CE3D2/doxyfile.in
change the PROJECT_NUMBER
entry to ${PROJECT_VERSION}
only.Deployment tasks:
Mirrors vectors on a given mirror plane.
The explaining section illustrates the functionality with mathematical formulas, but currently they are enclosed in code quotes and look not really math-like.
This feature is not downwards compatible since it uses another component of a vector that contains the depth-information. Projectionmatrices are now generated from OrthogonalDepthProjection
(see #29).
Permutes vector entries.
Hybrid mode combines the line- and triangle-mode. So it draws filled surfaces where the edges resemble lines.
Like this:
______
\####\_______
\###########\_____
\#############__/
\#########__/
\#####__/
\___/
Allow to pass options to the ./make.sh
script to run the build makefiles with more than one core (via forwarding the -j
option or define a custom one).
By default this would be disabled.
Also mention this feature inside the README!
CE3D2 is not that big so it can't be directly included inside an executable. Maybe programs also gain some performance.
The TextRenderer
renders a model onto ASCII characters (presumably an array-object like TextBuffer
that can be converted to string via a function).
Often it is convenient to set the angle in degrees (or retrieve it in degrees).
Currently the documentation is built every time the user triggers via ./make.sh doc
regardless of file-changes.
Build a dependency tree inside the CMake files so it's only generated when something changed.
For documentation generation.
Getters-only can be named without a get
which is shorter to write and resembles more property naming.
This transformation chain groups linear transformations together. It takes advantage of premultiplying matrices of the contained transforms.
The geometries shall be constructed via functions. They shall accept as less parameters as possible, scaling, translation etc. shall be applied after creation.
Some geometries that should be implemented:
Add another build-step inside the CMakeLists.txt
to render the svg-file to an appropriate size, copy it to the build output and use it inside the doxyfile.
Useful to know, and also users see that it's projection into the space given, not into the old space.
The formula is (A^T * A)^-1 * A^T
So this would be possible:
for (auto const& transformation: transformation_chain)
// Do as you please...
Allows to rotate arbitrary-dimensioned vectors/models.
Use the old CE3D2 logo for that and vary it a bit with the "2".
LaTeX is at first a very big component and cumbersome. CE3D2 only relies on math formulas which can be interactively rendered using MathJax that allows also scaling the page without having pixelized LaTeX formula images.
You need to completely fill in values yourself:
CE3D2::Vector(3) v;
v[0] = 1.0f;
v[1] = 2.0f;
v[2] = 3.0f;
Something like this would be much better:
auto v = make_vector(1.0f, 2.0f, 3.0f);
The challenge is here also to create the vector efficiently and return an appropriate reference that is also movable, so you can directly put it into a model for example without another copy.
Instead of points draw lines:
__
\__
\__
\__
\__
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.