fuerth-org / extended-c-module Goto Github PK
View Code? Open in Web Editor NEWExtension Library for C++
License: Other
Extension Library for C++
License: Other
Die anonymen Funktionen als Inline-Funktionen implementieren.
Projekt: "ecm.window.dll"
Datei: "window.h"
Namespace: "ecm"
The basic float32 operators for the Vector3 struct.
Projekt: "ecm.dll"
Datei: "vector3.hpp" "vector3.inl"
Namespace: "ecm"
Eine Funktion zur Absolut-Umwandlung.
int64 Abs(int64 x) {
return x < 0 ? -x : x;
}
long double Abs(long double x) {
return x < 0.0 ? -x : x;
}
Projekt: "ecm.math.dll"
Datei: "functions.hpp" "functions.inl"
Namespace: "ecm::math"
Das Struct Vector3 implementieren, mit 3 float32 für die x, y und z Koordinaten.
Enumeration für die Axis ist noch sinnvoll.
Projekt: "ecm.dll"
Datei: "vector3.h" "vector3.cpp"
Namespace: "ecm"
Eine Funktion zur Floating-Modulo-Berechnung.
// Funktion zur Berechnung von x^n
double Fmod(double x, double y) {
if (y == 0.0) {
return QuietNaN<_Ty>();
}
return x - Trunc(x / y) * y;
}
Projekt: "ecm.math.dll"
Datei: "functions.hpp" "functions.inl"
Namespace: "ecm::math"
Eine Funktion zur Berechnung der Fakultät.
// Funktion zur Berechnung der Fakultät
long double fact(int n) {
long double result = 1;
for (int i = 1; i <= n; ++i) {
result *= i;
}
return result;
}
Projekt: "ecm.math.dll"
Datei: "functions.hpp" "functions.inl"
Namespace: "ecm::math"
Für das Struct ColorF einige wichtige Operatoren implementieren.
Projekt: "ecm.dll"
Datei: "color.h"
Namespace: "ecm"
The basic float32 operators for the Vector4 struct.
Projekt: "ecm.dll"
Datei: "vector4.hpp" "vector4.inl"
Namespace: "ecm"
Projekt für die Window API anlegen.
Projekt: "ecm.window.dll"
Datei: "dllmain.cpp"
Namespace: "ecm::window"
Für das basis Struct Vector4 einige wichtige Operatoren implementieren.
Projekt: "ecm.dll"
Datei: "vector4.h" "vector4.cpp"
Namespace: "ecm"
Das Struct Color implementieren, einmal mit uint8 und einmal mit float32.
Für beide structe jeweils eine Methode um zu anderen zu konvertieren.
color = (r << 24) | (g << 16) | (b << 8) | a;
r = (color >> 24) & 0xFF
;
Projekt: "ecm.dll"
Datei: "color.h"
Namespace: "ecm"
Ein Namespace der für Ein-/Ausgaben in der Konsole zuständig ist und auch gewisse Konfigurationen wie Farben in der Konsole verbessert anbietet.
Projekt: "ecm.dll"
Datei: "ecm_console.h"
Namespace: "ecm::console"
Ein Struct das zur Kontrolle und für Funktionalitäten von Fenstern ist.
Projekt: "ecm.window.dll"
Datei: "window.h" "window.cpp"
Namespace: "ecm"
Projekt für die eigene OpenGL API-Verwaltung anlegen.
Projekt: "ecm.gl.dll"
Datei: "dllmain_ecm.gl.cpp" "ecm_gl_api.h"
Namespace: "ecm::gl"
Einen ersten Zufallsgeneratoralgorithmus implementieren.
Projekt: "ecm.algorithm.dll"
Datei: "random.h"
Namespace: "ecm::algorithm"
Für eine, in Zukunft leistungsfähige Bibliothek, sollten die mathematischen Funktionen, vor allem die welche oft verwendet werden, als inline constexpr gekennzeichnet werden und in die .hpp und .inl definitiert und implementiert werden. Die .cpp sollte dann entfernt und die .h zu einer .hpp umbenannt werden.
Projekt: "ecm.dll"
Datei: "vector4.hpp" "vector4.inl"
Namespace: "ecm::math"
Das Struct Vector2 implementieren, mit 2 float32 für die x und y Koordinate.
Enumeration für die Axis ist noch sinnvoll.
Projekt: "ecm.dll"
Datei: "vector2.h" "vector2.cpp"
Namespace: "ecm::math"
The console functions are not thread-safe, they can crash.
Use some locks to lock the write-stream for the functions.
Projekt: "ecm.dll"
Datei: "console.h" "console.cpp"
Namespace: "ecm::console"
Restructure the Vector2 struct to a Vector2_Base template struct, with same variables, 2 _Ty for x and y axis.
Hold the enumeration for the axis.
At end, add a struct Vector2 and a struct Vector2i with using Vector2_Base with the types float32 and int32.
Projekt: "ecm.math.dll"
Datei: "vector2.hpp" "vector2.inl"
Namespace: "ecm::math"
Ein Struct welches die Grundlegenden Funktionen von Graphikfeatures bereitstellt, sodass nur mit diesem Struct jede beliebige GraphicsAPI verwendet und ohne große Umimplementierungen gewechselt werden kann.
Projekt: "ecm.graphics.dll"
Datei: "graphics.h"
Namespace: "ecm::graphics"
Das Struct Vector2i implementieren, mit 2 float32 für die x und y Koordinate.
Enumeration für die Axis ist noch sinnvoll.
Projekt: "ecm.dll"
Datei: "vector2i.h" "vector2i.cpp"
Namespace: "ecm"
Ein ID-System welches grundlegende Funktionalitäten zur Erstellung und Validierung von IDs haben soll, aber auch für die Generation einer ID.
Projekt: "ecm.dll"
Datei: "id.h"
Namespace: "ecm::id"
Colorattribute implementieren, sodass man mit Attributen im Text mit vorgegebenen Farbcodes und auch eigenen die Farbe ändern kann.
Projekt: "ecm.dll"
Datei: "ecm_console.h"
Namespace: "ecm"
Eine Klasse für einen Vector-Container.
Projekt: "ecm.dll"
Datei: "ecm_vector.h"
Namespace: "ecm::container"
Für eine, in Zukunft leistungsfähige Bibliothek, sollten die mathematischen Funktionen, vor allem die welche oft verwendet werden, als inline constexpr gekennzeichnet werden und in die .hpp und .inl definitiert und implementiert werden. Die .cpp sollte dann entfernt und die .h zu einer .hpp umbenannt werden.
Projekt: "ecm.dll"
Datei: "vector2.hpp" "vector2.inl"
Namespace: "ecm::math"
Für das basis Struct Vector2i einige wichtige Operatoren implementieren.
Projekt: "ecm.dll"
Datei: "vector2i.h" "vector2i.cpp"
Namespace: "ecm"
...
Projekt: "ecm.graphics.dll"
Datei: "graphics.h"
Namespace: "ecm::graphics"
Das Struct Matrix4x4 implementieren, mit einem 1D float32 array mit der Größe 16.
Projekt: "ecm.dll"
Datei: "matrix4x4.h" "matrix4x4.cpp"
Namespace: "ecm::math"
The solution should be restructured.
New project for math library that will be a static library for inline functions and methods.
One directory for the ecm link and source files and all project files for visual studio should be placed in the root directory named libs
.
Projekt: -
Datei: -
Namespace: -
Eine Funktion zur Potenz-Berechnung.
// Funktion zur Berechnung von x^n
long double pow(long double base, int exponent) {
double result = 1.0;
for (int i = 0; i < abs(exponent); ++i) {
result *= base;
}
if (exponent < 0) {
return 1.0 / result;
}
return result;
}
Projekt: "ecm.math.dll"
Datei: "functions.hpp" "functions.inl"
Namespace: "ecm::math"
Die anonymen Funktionen in den Methoden des Window-Structes implementieren.
Projekt: "ecm.window.dll"
Datei: "window.h" "window.cpp"
Namespace: "ecm"
Restructure the Vector3 struct to a Vector3_Base template struct, with same variables, 3 _Ty for x, y and z axis.
Hold the enumeration for the axis.
At end, add a struct Vector3 and a struct Vector3i with using Vector3_Base with the types float32 and int32.
Projekt: "ecm.math.dll"
Datei: "Vector3.hpp" "Vector3.inl"
Namespace: "ecm::math"
Für das basis Struct Vector2 einige wichtige Operatoren implementieren.
Projekt: "ecm.dll"
Datei: "vector2.h" "vector2.cpp"
Namespace: "ecm"
A OpenGLContext class for initialize gl context and draw to window.
Add the glad library source files.
Projekt: "ecm.opengl.dll"
Datei: "glcontext.h" "glcontext.cpp"
Namespace: "ecm::gl"
...
Projekt: "ecm.graphics.dll"
Datei: "graphics.h"
Namespace: "ecm::graphics"
Die neueste Version von SDL2 herunterladen und in das Projekt einbinden.
Projekt: "ecm.window.dll"
Datei: "dllmain.cpp"
Namespace: -
Für das basis Struct Vector3 einige wichtige Operatoren implementieren.
Projekt: "ecm.dll"
Datei: "vector3.h" "vector3.cpp"
Namespace: "ecm"
Einen Iterator für den Vector-Container implementieren.
Projekt: "ecm.dll"
Datei: "vector.h"
Namespace: "ecm"
Für eine, in zukunft leistungsfähige Bibliothek, sollten die mathematischen Funktionen, vor allem die welche oft verwendet werden, als inline constexpr gekennzeichnet werden und in die .hpp und .inl definitiert und implementiert werden. Die .cpp sollte dann entfernt und die .h zu einer .hpp umbenannt werden.
Projekt: "ecm.dll"
Datei: "matrix4x4.hpp" "matrix4x4.inl"
Namespace: "ecm::math"
Projekt für die GraphicsAPI Vulkan anlegen.
Projekt: "ecm.graphics.vulkan.dll"
Datei: "dllmain_ecm.vulkan.cpp" "ecm_vulkan_api.h"
Namespace: "ecm::vulkan"
Weitere ANSI Konsolen Attribute hizufügen, wie Bold, Italic und co.
Projekt: "ecm.dll"
Datei: "ecm_console.h"
Namespace: "ecm"
Das Struct Vector2 implementieren, mit den ersten notwendigen Methoden und Variablen.
Vairablen als Union mit Array, X/Y und W/H.
Projekt: "ecm.dll"
Datei: "Vector2.h"
Namespace: "ecm::math"
Das Struct Vector4 implementieren, mit 4 float32 für die x, y, z und w Koordinate.
Enumeration für die Axis ist noch sinnvoll.
Projekt: "ecm.dll"
Datei: "vector4.h" "vector4.cpp"
Namespace: "ecm"
Für eine, in Zukunft leistungsfähige Bibliothek, sollten die mathematischen Funktionen, vor allem die welche oft verwendet werden, als inline constexpr gekennzeichnet werden und in die .hpp und .inl definitiert und implementiert werden. Die .cpp sollte dann entfernt und die .h zu einer .hpp umbenannt werden.
Projekt: "ecm.dll"
Datei: "vector2.hpp" "vector2.inl"
Namespace: "ecm::math"
The basic float32 operators for the Vector2 struct.
Projekt: "ecm.dll"
Datei: "vector2.hpp" "vector2.inl"
Namespace: "ecm"
Projekt für algorithmen anlegen.
Projekt: "ecm.algorithm.dll"
Datei: "dllmain.cpp" "ecm_algorithm.h"
Namespace: "ecm::algorithm"
Für das Struct Color einige wichtige Operatoren implementieren.
Projekt: "ecm.dll"
Datei: "color.h"
Namespace: "ecm"
Für das basis Struct Matrix4x4 einige grundlegende Operatoren implementieren.
Projekt: "ecm.dll"
Datei: "matrix4x4.h" "matrix4x4.cpp"
Namespace: "ecm::math"
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.