Siv3D Features¶
This is a list of major features provided by Siv3D.
Graphics¶
- Various 2D graphics features
- Basic 3D graphics features (Wavefront OBJ, several basic shapes)
- Custom vertex and pixel shaders (HLSL, GLSL)
- Text rendering (Bitmap, SDF, MSDF)
- Image formats (PNG, JPEG, BMP, SVG, GIF, Animated GIF, TGA, PPM, WebP, TIFF)
- Unicode 15.1 emojis and over 7,000 types of icons
- Video playback
- Image processing
Audio¶
- Various audio formats (WAVE, MP3, AAC, OggVorbis, Opus, MIDI, WMA, FLAC, AIFF)
- Volume, pan, speed, and pitch adjustment
- Streaming playback (WAVE, MP3, OggVorbis)
- Writing waveforms to buffers during playback
- Fade in, fade out
- Looping
- Mixing bus
- Filter processing (low-pass filter, high-pass filter, echo, reverb)
- FFT
- SoundFont rendering
- Text-to-speech
Input Devices¶
- Mouse
- Keyboard
- Gamepad
- Webcam
- Microphone
- Joy-Con / Pro Controller
- XInput gamepad
- Pen tablet
- Leap Motion
Window¶
- Full-screen mode
- High DPI support
- Window styles (resizable, frameless)
- File dialogs
- Drag & drop
- Message boxes
- Toast notifications
Network and Communication¶
- HTTP client
- Multiplayer (Photon SDK)
- TCP communication
- Serial communication
- Inter-process communication (pipe)
- OSC (Open Sound Control) communication
Mathematics¶
- Vector and matrix classes (
Point,Float2,Vec2,Float3,Vec3,Float4,Vec4,Mat3x2,Mat3x3,Mat4x4,SIMD_Float4,Quaternion) - 2D shape classes (
Line,Circle,Ellipse,Rect,RectF,Triangle,Quad,RoundRect,Polygon,MultiPolygon,LineString,Spline2D,Bezier2,Bezier3) - 3D shape classes (
Plane,InfinitePlane,Sphere,Box,OrientedBox,Ray,Line3D,Triangle3D,ViewFrustum,Disc,Cylinder,Cone) - Color classes (
Color,ColorF,HSV) - Coordinate system classes
- 2D / 3D intersection detection and intersection point calculation
- 2D / 3D geometric calculations
- Rectangle packing
- Plane subdivision
- Linear and gamma color spaces
- Pseudo-random number generators
- Interpolation, easing, smoothing
- Perlin noise
- Math expression parser
- Navigation mesh
- Extended numeric types (
HalfFloat,int128,uint128,BigInt,BigFloat)
String Processing¶
- String classes (
String,StringView) - Unicode conversion (UTF-8 / UTF-16 / UTF-32)
- Regular expressions
{fmt}style string formatting- Text file reading and writing
- CSV / INI / JSON / XML / TOML parsers
- CSV / INI / JSON output
- JSON validation
Other Features¶
- Basic GUI (buttons, sliders, radio buttons, checkboxes, text boxes, text areas, list boxes, color pickers, menu bars, tables)
- 2D physics engine integration (Box2D)
- Array classes (
Array,Grid) - Kd-tree
- Disjoint Set Union
- Asynchronous file loading
- Data compression (zlib, Zstandard)
- Scene transitions
- File system
- Directory monitoring
- QR codes
- GeoJSON
- Date and time
- Time measurement
- Logging
- Serialization
- UUID
- Child process management
- Clipboard
- Power management
- Scripting (AngelScript)
- OpenAI API (Chat, Vision, Image, Embedding)
(*Some features are supported on specific platforms only)