hello
This repository is cx20’s Hello World.
Hello, World!
If it is a graphics library, it will display a triangle, otherwise it will display “Hello, World!”.
+------------------------------------------+
|Hello, World! [_][~][X]|
+------------------------------------------+
| |
| / \ |
| / \ |
| / \ |
| / \ |
| / \ |
| / \ |
| / \ |
| / \ |
| - - - - - - - - - - - - - - - - - |
+------------------------------------------+
Native Languages (for Windows)
| Library | MASM | C | C++ | C++ (MFC) | C++ (ATL) | C++ (WTL) | D | Go | Pascal | Rust | Zig |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Console | Link | Link | Link | Link | Link | Link | Link | Link | |||
| COM (early bind) | Link | Link | Link | Link | Link | Link | Link | Link | |||
| COM (late bind) | Link | Link | Link | Link | Link | Link | Link | ||||
| Win32 API | Link | Link | Link | Link | Link | Link | Link | Link | Link | Link | Link |
| Win32 GUI | Link | Link | Link | Link | Link | Link | Link | Link | Link | Link | |
| WinRT | Link | Link | |||||||||
| WinUI | |||||||||||
| MAUI | |||||||||||
| GDI | Link | Link | Link | Link | Link | Link | Link | Link | Link | Link | |
| GDI+ | Link | Link | Link | Link | Link | ||||||
| Direct2D | Link | Link | Link | Link | Link | Link | |||||
| DirectX9 | Link | Link | Link | Link | Link | Link | |||||
| DirectX10 | Link | Link | Link | Link | |||||||
| DirectX11 | Link | Link | Link | Link | Link | Link | |||||
| DirectX12 | Link | Link | Link | Link | Link | Link | Link | ||||
| OpenGL1.0 | Link | Link | Link | Link | Link | Link | Link | Link | Link | ||
| OpenGL1.1 | Link | Link | Link | Link | Link | Link | Link | Link | |||
| OpenGL2.0 | Link | Link | Link | Link | Link | Link | |||||
| OpenGL3.3 | Link | Link | Link | Link | Link | Link | |||||
| OpenGL4.6 | Link | Link | Link | Link | Link | Link | |||||
| OpenGL ES2.0 | Link | Link | Link | Link | Link | Link | |||||
| OpenGL ES3.0 | Link | Link | Link | Link | Link | Link | |||||
| OpenGL1.0 (GLUT) | Link | ||||||||||
| OpenGL1.1 (GLUT) | Link | ||||||||||
| OpenGL1.0 (GLFW) | Link | Link | Link | Link | Link | Link | Link | ||||
| OpenGL1.1 (GLFW) | Link | Link | Link | Link | Link | Link | Link | ||||
| OpenGL2.0 (GLFW) | Link | Link | Link | Link | Link | Link | Link | ||||
| OpenGL3.3 (GLFW) | Link | Link | Link | Link | Link | Link | Link | ||||
| OpenGL4.6 (GLFW) | Link | Link | Link | Link | Link | Link | Link | ||||
| OpenGL ES2.0 (GLFW) | Link | Link | Link | Link | Link | Link | Link | ||||
| OpenGL ES3.0 (GLFW) | Link | Link | Link | Link | Link | Link | Link | ||||
| OpenGL1.0 (SDL) | Link | Link | Link | ||||||||
| OpenGL1.1 (SDL) | Link | Link | Link | ||||||||
| OpenGL2.0 (SDL) | Link | Link | Link | Link | |||||||
| OpenGL3.3 (SDL) | Link | Link | Link | Link | |||||||
| OpenGL4.6 (SDL) | Link | Link | Link | Link | |||||||
| OpenGL2.0 (ImGUI+GLFW) | Link | ||||||||||
| OpenGL3.3 (ImGUI+GLFW) | Link | ||||||||||
| OpenGL4.6 (ImGUI+GLFW) | Link | ||||||||||
| OpenGL2.0 (ImGUI+SDL) | Link | ||||||||||
| OpenGL3.3 (ImGUI+SDL) | Link | ||||||||||
| OpenGL4.6 (ImGUI+SDL) | Link | ||||||||||
| Vulkan1.2 | [WIP] Link | ||||||||||
| Vulkan1.3 | [WIP] Link | ||||||||||
| Vulkan1.4 | [WIP] Link | ||||||||||
| WebGPU | |||||||||||
| WebGPU (wgpu) | [WIP] Link | ||||||||||
| WebGPU (wgpu+GLFW) | [WIP] Link | [WIP] Link |
Native Languages (for Linux)
| Library | GNU AS | GNU C | GNU C++ | LLVM AS | LLVM IR | LLVM C (Clang) | LLVM C++ (Clang++) |
|---|---|---|---|---|---|---|---|
| Console | Link | Link | Link | Link | Link | Link | Link |
| X11 GUI | Link | Link | Link | Link | |||
| OpenGL1.0 | Link | Link | Link | Link | |||
| OpenGL1.1 | Link | Link | Link | Link | |||
| OpenGL2.0 | Link | Link | Link | Link | |||
| OpenGL3.3 | [WIP] Link | [WIP] Link | [WIP] Link | [WIP] Link | |||
| OpenGL4.6 |
.NET Languages
| Library | MSIL | C++/CLI | C# | VB.NET | F# | JScript.NET | PowerShell |
|---|---|---|---|---|---|---|---|
| Console | Link | Link | Link | Link | Link | Link | Link |
| COM (early bind) | [WIP] Link | [WIP] Link | |||||
| COM (late bind) | Link | Link | Link | Link | Link | Link | |
| Win32 API | Link | Link | Link | Link | Link | Link | Link |
| Win32 GUI | Link | Link | Link | Link | Link | [WIP] Link | Link |
| WinForms | Link | Link | Link | Link | Link | Link | Link |
| WPF (GUI) | Link | Link | Link | Link | Link | Link | |
| WPF (2D) | Link | Link | |||||
| WinUI | |||||||
| MAUI | |||||||
| GDI | Link | Link | Link | Link | [WIP] Link | Link | |
| GDI+ | Link | Link | Link | Link | Link | Link | |
| Direct2D | Link | ||||||
| DirectX9 | Link | Link | Link | Link | Link | ||
| DirectX10 | Link | ||||||
| DirectX11 | Link | Link | Link | ||||
| DirectX12 | Link | [WIP] Link | Link | ||||
| Direct2D (SharpDX) | Link | Link | |||||
| DirectX9 (SharpDX) | Link | Link | |||||
| DirectX10 (SharpDX) | Link | Link | |||||
| DirectX11 (SharpDX) | Link | Link | |||||
| DirectX12 (SharpDX) | Link | Link | |||||
| OpenGL1.0 | Link | Link | Link | Link | Link | [WIP] Link | Link |
| OpenGL1.1 | Link | Link | Link | Link | [WIP] Link | Link | |
| OpenGL2.0 | Link | Link | Link | Link | [WIP] Link | Link | |
| OpenGL3.3 | Link | Link | Link | Link | |||
| OpenGL4.6 | Link | Link | Link | Link | |||
| OpenGL ES2.0 | Link | Link | Link | ||||
| OpenGL ES3.0 | Link | Link | Link | ||||
| OpenGL2.0 (OpenTK) | Link | Link | |||||
| OpenGL3.3 (OpenTK) | Link | Link | |||||
| OpenGL4.6 (OpenTK) | Link | Link | |||||
| OpenGL ES2.0 (OpenTK) | Link | Link | |||||
| OpenGL ES3.0 (OpenTK) | Link | Link | |||||
| OpenGL3.3 (Silk.NET) | Link | ||||||
| Vulkan1.4 | [WIP] Link | [WIP] Link |
Java VM Languages
| Library | Java VM Assembler | Java | Groovy | Scala | JRuby | Jython | Kotlin |
|---|---|---|---|---|---|---|---|
| Console | Link | Link | Link | Link | Link | Link | Link |
| Win32 API (SWT) | Link | Link | Link | Link | |||
| AWT | Link | Link | Link | Link | Link | Link | Link |
| Swing | Link | Link | Link | Link | Link | Link | Link |
| JavaFX | Link | ||||||
| Java2D | Link | ||||||
| Java3D | Link | ||||||
| Java3D (JOGL) | Link | ||||||
| OpenGL1.0 (JOGL) | Link | Link | Link | ||||
| OpenGL1.1 (JOGL) | Link | Link | Link | ||||
| OpenGL2.0 (JOGL) | Link | ||||||
| OpenGL3.3 (JOGL) | Link | ||||||
| OpenGL4.6 (JOGL) | Link | ||||||
| OpenGL ES2.0 (JOGL) | Link | ||||||
| OpenGL ES3.0 (JOGL) | Link | ||||||
| OpenGL1.0 (LWJGL) | Link | Link | |||||
| OpenGL1.1 (LWJGL) | Link | Link | |||||
| OpenGL2.0 (LWJGL) | Link | Link | |||||
| OpenGL3.3 (LWJGL) | Link | Link | |||||
| OpenGL4.6 (LWJGL) | Link | Link | |||||
| OpenGL ES2.0 (LWJGL) | Link | Link | |||||
| OpenGL ES3.0 (LWJGL) | Link | Link |
Scripting Languages
| Library | Perl | PHP | Python | Ruby |
|---|---|---|---|---|
| Console | Link | Link | Link | Link |
| COM (late bind) | Link | Link | Link | |
| Win32 API | Link | Link | Link | |
| Win32 GUI | Link | Link | ||
| OpenGL1.0 (GLUT) | Link | |||
| OpenGL1.1 (GLUT) | Link | |||
| OpenGL1.0 (GLFW) | Link | |||
| OpenGL1.1 (GLFW) | Link | |||
| OpenGL2.0 (GLFW) | Link | |||
| OpenGL3.3 (GLFW) | Link | |||
| OpenGL4.6 (GLFW) | Link | |||
| OpenGL ES 2.0 (GLFW) | Link | |||
| OpenGL ES 3.0 (GLFW) | Link | |||
| WebGPU (wgpu+GLFW) | Link |
Web Browser / WebAssembly Languages
| Library | WASM (WAT) | WASM (C) | WASM (C++) | WASM (Rust) | JavaScript | TypeScript |
|---|---|---|---|---|---|---|
| WASI | Link | Link | Link | Link | ||
| WASI (web) | ||||||
| Console | Link | Link | Link | Link | Link | Link |
| Canvas | ||||||
| WebGL | Link | Link | Link | Link | Link | |
| WebGL2 | Link | Link | Link | Link | Link | |
| WebGPU | Link | [WIP] Link | Link | Link | ||
| CSS | ||||||
| SVG |
Test Environment
| Platform | Version |
|---|---|
| Windows | 11 |
| Browser | Version | Remarks |
|---|---|---|
| Chrome Stable | 139 | |
| Chrome Canary | 141 |
| Language | Version | Remarks |
|---|---|---|
| C/C++ | 19.40 | Visual Studio 2022 Developer Command Prompt |
| C# | 4.10 | Visual Studio 2022 Developer Command Prompt |
| VB.NET | 4.10 | Visual Studio 2022 Developer Command Prompt |
| JScript.NET | 14.0 | Visual Studio 2022 Developer Command Prompt |
| D | 2.108.1 | |
| Go | 1.20.1 | |
| Python | 3.12 | |
| Rust | 1.85 | When using WebGPU, use “rustup default nightly”. |
| Zig | 0.13 | |
| Java | 1.8.0 | |
| Emscripten | 3.1.73 | emsdk\emcmdprompt.bat |