hello

cx20's Hello, World!

View on GitHub

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 Kotlin Zig
Console Link Link Link Link Link Link Link Link Link Link Link Link
COM (early bind) Link Link Link Link Link Link Link Link Link Link Link  
COM (late bind) Link Link Link Link Link Link Link Link Link Link Link  
Win32 API Link Link Link Link Link Link Link Link Link Link Link Link
Win32 GUI Link Link Link Link Link Link Link Link Link Link Link  
Win32 + Composition   Link Link Link Link Link Link Link Link Link Link  
WinRT   Link Link Link Link Link Link Link Link Link Link  
WinRT + Composition   Link Link Link Link Link Link Link Link Link Link  
WinUI   Link Link Link Link Link Link Link Link Link Link  
MAUI                        
GDI Link Link Link Link Link Link Link Link Link Link Link  
GDI+   Link Link Link Link Link Link Link Link Link Link  
Direct2D   Link Link Link Link Link Link Link Link Link Link  
DirectX9 Link Link Link Link Link Link Link Link Link Link Link  
DirectX10   Link Link Link Link Link Link Link Link Link Link  
DirectX11   Link Link Link Link Link Link Link Link Link Link  
DirectX12   Link Link Link Link Link Link Link Link Link Link  
OpenGL1.0 Link Link Link Link Link Link Link Link Link Link Link  
OpenGL1.1   Link Link Link Link Link Link Link Link Link Link  
OpenGL2.0   Link Link Link Link Link Link Link Link Link Link  
OpenGL3.3   Link Link Link Link Link Link Link Link Link Link  
OpenGL4.6   Link Link Link Link Link Link Link Link Link Link  
OpenGL ES2.0   Link Link Link Link Link Link Link Link Link Link  
OpenGL ES3.0   Link Link Link Link Link Link Link Link Link Link  
OpenGL1.0 (GLUT)   Link                    
OpenGL1.1 (GLUT)   Link                    
OpenGL1.0 (GLFW)   Link Link Link Link Link Link Link Link Link    
OpenGL1.1 (GLFW)   Link Link Link Link Link Link Link Link Link    
OpenGL2.0 (GLFW)   Link Link Link Link Link Link Link Link Link    
OpenGL3.3 (GLFW)   Link Link Link Link Link Link Link Link Link    
OpenGL4.6 (GLFW)   Link Link Link Link Link Link Link Link Link    
OpenGL ES2.0 (GLFW)   Link Link Link Link Link Link Link Link Link    
OpenGL ES3.0 (GLFW)   Link Link 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   Link Link Link Link Link Link Link Link [WIP] Link Link  
WebGPU (dawn)     [WIP] Link                  
WebGPU (dawn+GLFW)     [WIP] Link                  
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++) D Go Pascal Rust
Console Link Link Link Link Link Link Link Link Link Link Link
X11 GUI   Link Link     Link Link Link Link Link Link
OpenGL1.0   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 Link Link
OpenGL3.3   Link Link     Link Link Link Link Link Link
OpenGL4.5   Link Link     Link Link Link Link Link Link
OpenGL1.0 (GLFW)   Link Link     Link Link Link Link Link Link
OpenGL1.1 (GLFW)   Link Link     Link Link Link Link Link Link
OpenGL2.0 (GLFW)   Link Link     Link Link Link Link Link Link
OpenGL3.3 (GLFW)   Link Link     Link Link Link Link Link Link
OpenGL4.5 (GLFW)   Link Link     Link Link Link Link Link Link
OpenGL1.0 (GLUT)   Link Link     Link Link Link Link Link Link
OpenGL1.1 (GLUT)   Link Link     Link Link Link Link Link Link
OpenGL2.0 (GLUT)   Link Link     Link Link Link Link Link Link
OpenGL3.3 (GLUT)   Link Link     Link Link Link Link Link Link
OpenGL4.5 (GLUT)   Link Link     Link Link Link Link Link Link
Vulkan1.4   Link Link     Link Link Link Link Link Link

Native Languages (for macOS)

Library C C++ Objective-C Objective-C++ Swift D Go Pascal Rust
Console Link Link Link Link Link Link Link Link Link
X11 GUI Link Link Link Link Link Link Link Link Link
Cocoa GUI Link Link Link Link Link Link Link Link Link
SwiftUI         Link        
OpenGL1.0 Link Link Link Link Link Link Link Link Link
OpenGL1.1 Link Link Link Link Link Link Link Link Link
OpenGL2.0 Link Link Link Link Link Link Link Link Link
OpenGL3.3 Link Link Link Link Link Link Link Link Link
OpenGL4.1 Link Link Link Link Link Link Link Link Link
OpenGL1.0 (GLUT) Link Link Link Link Link Link Link Link Link
OpenGL1.1 (GLUT) Link Link Link Link Link Link Link Link Link
OpenGL2.0 (GLUT) Link Link Link Link Link Link Link Link Link
OpenGL3.3 (GLUT) Link Link Link Link Link Link Link Link Link
OpenGL4.1 (GLUT) Link Link Link Link Link Link Link Link Link
OpenGL1.0 (GLFW) Link Link Link Link Link Link Link Link Link
OpenGL1.1 (GLFW) Link Link Link Link Link Link Link Link Link
OpenGL2.0 (GLFW) Link Link Link Link Link Link Link Link Link
OpenGL3.3 (GLFW) Link Link Link Link Link Link Link Link Link
OpenGL4.1 (GLFW) Link Link Link Link Link Link Link Link Link
Vulkan1.4 Link Link Link Link Link Link Link Link Link
Metal Link Link Link Link Link Link Link Link Link

Note: Vulkan on macOS samples use MoltenVK. Install molten-vk, vulkan-loader, vulkan-headers, glfw, and glslang, then run each sample’s build.sh and run.sh.

Note: In this table, Cocoa GUI means native macOS AppKit/Cocoa window-based samples.

.NET Languages

Library MSIL C++/CLI C# VB.NET F# JScript.NET PowerShell
Console Link Link Link Link Link Link Link
COM (early bind) 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
Win32 GUI Link Link Link Link Link Link Link
Win32 + Composition   Link Link Link Link Link Link
WinForms Link Link Link Link Link Link Link
WPF (GUI) Link Link Link Link Link   Link
WPF (2D)     Link   Link    
WinRT     Link Link Link Link Link
WinRT + Composition   Link Link Link Link Link Link
WinUI     Link        
WinUI (Win2D)     Link        
MAUI     Link        
MAUI (Win2D)     Link        
GDI Link Link Link Link Link Link Link
GDI+ Link Link Link Link Link Link Link
Direct2D   Link Link Link Link Link Link
DirectX9   Link Link Link Link Link Link
DirectX10   Link Link Link Link Link Link
DirectX11   Link Link Link Link Link Link
DirectX12   Link Link Link Link 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   Link Link Link Link [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
COM (early bind) (JNA)   Link          
COM (early bind) (SWT)   Link          
COM (late bind) (JNA)   Link          
COM (late bind) (SWT)   Link          
Win32 API (JNA)   Link          
Win32 API (SWT)   Link Link   Link Link  
Win32 GUI (JNA)   Link          
Win32 GUI (SWT)   Link          
Win32 + Composition   Link          
WinRT (JNA)   Link          
WinRT (JNA) + Composition   Link          
GDI (JNA)   Link          
GDI (SWT+JNA)   Link          
GDI+ (JNA)   Link          
GDI+ (SWT+JNA)   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          
Direct2D (JNA)   Link          
DirectX9 (JNA)   Link          
DirectX10 (JNA)   Link          
DirectX11 (JNA)   Link          
DirectX12 (JNA)   Link          
OpenGL1.0 (JNA)   Link          
OpenGL1.1 (JNA)   Link          
OpenGL2.0 (JNA)   Link          
OpenGL3.3 (JNA)   Link          
OpenGL4.6 (JNA)   Link          
Direct2D (SWT+JNA)   Link          
DirectX9 (SWT+JNA)   Link          
DirectX10 (SWT+JNA)   Link          
DirectX11 (SWT+JNA)   Link          
DirectX12 (SWT+JNA)   Link          
OpenGL1.0 (SWT+JNA)   Link          
OpenGL1.1 (SWT+JNA)   Link          
OpenGL2.0 (SWT+JNA)   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  
Vulkan1.4 (JNA)   Link          
Vulkan1.4 (SWT+JNA)   Link          

Scripting Languages

Library Perl PHP Python Ruby
Console Link Link Link Link
COM (early bind) Link Link Link Link
COM (late bind) Link Link Link Link
Win32 API Link Link Link Link
Win32 GUI Link Link Link Link
Win32 + Composition Link Link Link Link
WinRT Link Link Link Link
WinRT + Composition Link Link Link Link
GDI Link Link Link Link
GDI+ Link Link Link Link
Direct2D Link Link Link Link
DirectX9 Link Link Link Link
DirectX10 Link Link Link Link
DirectX11 Link Link Link Link
DirectX12 Link Link Link Link
OpenGL1.0 Link Link Link Link
OpenGL1.1 Link Link Link Link
OpenGL2.0 Link Link Link Link
OpenGL3.3 Link Link Link Link
OpenGL4.6 Link Link 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  
Vulkan 1.4 Link Link Link 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 146  
Chrome Canary 148  
Language Version Remarks
C/C++ 19.50 Visual Studio 2026 Developer Command Prompt
C# 5.0 Visual Studio 2026 Developer Command Prompt
VB.NET 5.0 Visual Studio 2026 Developer Command Prompt
JScript.NET 14.0 Visual Studio 2026 Developer Command Prompt
D 2.111.0  
Go 1.20.1  
Python 3.12  
Rust 1.94 When using WebGPU, use “rustup default nightly”.
Zig 0.13  
Java 1.8.0  
Emscripten 3.1.73 emsdk\emcmdprompt.bat