Welcome to EdenSpark’s documentation!
EdenSpark is a game engine that is designed to be simple and easy to use. You can use EdenSpark to create 2D and 3D games, simulations, and other interactive applications, and share them with others.
EdenSpark supports the Daslang programming language, and is designed to be easy to learn and use, even if you have no prior experience with programming or game development. You can find more information about Daslang in the Daslang documentation.
This documentation will show you how to get started with EdenSpark, and provide you with the information you need to create your own games and applications.
Contents:
- Getting Started
- Scene
- Resources
- System
- Input
- Components
- Fields export
- Fields annotations
- Built-in components
- Components module
- Camera
- Mesh
- LodSelector
- Ambient Settings
- ShadowSettings
- Tonemap
- Sky
- AntiAliasing
- RenderPipeline
- SSAOSettings
- SSRSettings
- DistanceFog
- SpotLight
- PointLight
- DirectionLight
- Audio
- RigidBody
- SpringJoint
- HingeJoint
- SixDofJoint
- Collider
- CollisionListener
- CharacterController
- Animator
- SingleAnimationPlayer
- UICanvas
- UIFrame
- UIText
- Text3d
- UIImage
- UIMask
- UIColorState
- UITextureState
- UIButton
- UICheckbox
- UITextInput
- UIDropdown
- UISlider
- UIAnchor
- UIHorizontalLayout
- UIVerticalLayout
- UIFlowLayout
- UIComponent, ui events
- Physics
- Math
- Time
- Render
- Sound
- Local storage
- Generic storage
- Coroutines
- Free camera
- Tweener
- Daslang’s documentation
- Daslang 0.5 Reference Manual
- 1. Introduction
- 2. The language
- 2.1. Lexical Structure
- 2.2. Values and Data Types
- 2.3. Statements
- 2.3.1. Visibility Block
- 2.3.2. Control Flow Statements
- 2.3.3. Ranged Loops
- 2.3.4. break
- 2.3.5. continue
- 2.3.6. return
- 2.3.7. yield
- 2.3.8. Finally statement
- 2.3.9. Local variables declaration
- 2.3.10. Function declaration
- 2.3.11. try/recover
- 2.3.12. panic
- 2.3.13. global variables
- 2.3.14. enum
- 2.3.15. Expression statement
- 2.4. Expressions
- 2.5. Temporary types
- 2.6. Built-in Functions
- 2.7. Clone
- 2.8. Unsafe
- 2.9. implicit
- 2.10. other cases
- 2.11. Table
- 2.12. Array
- 2.13. Function
- 2.14. Modules
- 2.15. Block
- 2.16. Lambda
- 2.17. Struct
- 2.18. Tuple
- 2.19. Variant
- 2.20. Class
- 2.21. Constants, Enumerations, Global variables
- 2.22. Bitfield
- 2.23. Comprehension
- 2.24. Iterator
- 2.25. Generator
- 2.26. Finalizer
- 2.27. String Builder
- 2.28. Generic Programming
- 2.29. Macros
- 2.29.1. Compilation passes
- 2.29.2. Invoking macros
- 2.29.3. AstFunctionAnnotation
- 2.29.4. AstBlockAnnotation
- 2.29.5. AstStructureAnnotation
- 2.29.6. AstEnumerationAnnotation
- 2.29.7. AstVariantMacro
- 2.29.8. AstReaderMacro
- 2.29.9. AstCallMacro
- 2.29.10. AstPassMacro
- 2.29.11. AstTypeInfoMacro
- 2.29.12. AstForLoopMacro
- 2.29.13. AstCaptureMacro
- 2.29.14. AstCommentReader
- 2.29.15. AstSimulateMacro
- 2.29.16. AstVisitor
- 2.30. Reification
- 2.31. Pattern matching
- 2.31.1. Enumeration Matching
- 2.31.2. Matching Variants
- 2.31.3. Declaring Variables in Pattern Matching
- 2.31.4. Matching Structs
- 2.31.5. Using Guards
- 2.31.6. Tuple Matching
- 2.31.7. Matching Static Arrays
- 2.31.8. Dynamic Array Matching
- 2.31.9. Match Expressions
- 2.31.10. Matching with || Expression
- 2.31.11. [match_as_is] Structure Annotation
- 2.31.12. [match_copy] Structure Annotation
- 2.31.13. Static Matching
- 2.31.14. match_type
- 2.31.15. Multi-Match
- 2.32. Context
- 2.33. Locks
- 3. Embedding Daslang into C++
- 3.1. Daslang Virtual Machine
- 3.2. Modules and C++ bindings
- 3.3. C++ ABI and type factory infrastructure
- 3.4. Exposing C++ handled types
- 3.5. Ahead of time compilation and C++ operation bindings
- Daslang Standard Library 0.5
- 1. Introduction
- 2. Built-in runtime
- 2.1. Type aliases
- 2.2. Constants
- 2.3. Handled structures
- 2.4. Function annotations
- 2.5. Call macros
- 2.6. Reader macros
- 2.7. Typeinfo macros
- 2.8. Handled types
- 2.9. Structure macros
- 2.10. Containers
- 2.11. das::string manipulation
- 2.12. Heap reporting
- 2.13. GC0 infrastructure
- 2.14. Smart ptr infrastructure
- 2.15. Macro infrastructure
- 2.16. Profiler
- 2.17. System infastructure
- 2.18. Memory manipulation
- 2.19. Binary serializer
- 2.20. Path and command line
- 2.21. Time and date
- 2.22. Lock checking
- 2.23. Lock checking internals
- 2.24. Bit operations
- 2.25. Intervals
- 2.26. RTTI
- 2.27. Lock verification
- 2.28. Initialization and finalization
- 2.29. Algorithms
- 2.30. Memset
- 2.31. Malloc
- 2.32. Compilation and AOT
- 3. Math library
- 3.1. Constants
- 3.2. Handled structures
- 3.3. all numerics (uint*, int*, float*, double)
- 3.4. float* and double
- 3.5. float* only
- 3.6. float3 only
- 3.7. float2, float3, float4
- 3.8. Noise functions
- 3.9. lerp/mad/clamp
- 3.10. Matrix operations
- 3.11. Matrix initializers
- 3.12. Matrix manipulation
- 3.13. Quaternion operations
- 3.14. Packing and unpacking
- 3.15. Uncategorized
- 4. Math bit helpers
- 5. Boost package for math
- 6. Random generator library
- 7. String manipulation library
- 7.1. Enumerations
- 7.2. Handled structures
- 7.3. Character set
- 7.4. Character groups
- 7.5. Character by index
- 7.6. String properties
- 7.7. String builder
- 7.8. das::string manipulation
- 7.9. String modifications
- 7.10. Search substrings
- 7.11. String conversion routines
- 7.12. String as array
- 7.13. Low level memory allocation
- 8. Boost package for string manipulation library
- 9. Functional programming library
- 10. Cross-context evaluation helpers
- 11. JSON manipulation library
- 12. Boost package for JSON
- 13. Regular expression library
- 14. Boost package for REGEX
- 15. Apply reflection pattern
- 16. Miscelanious algorithms
- 17. Miscelanious contract annotations
- 18. defer and defer_delete macros
- 19. if_not_null macro
- 20. instance_function function annotation
- 21. decltype macro and template function annotation
- 22. is_local_xxx ast helpers
- 23. safe_addr macro
- 24. static_let macro
- 25. lpipe macro
- 26. Boost package for array manipulation
- 27. General prupose serialization
- 28. Loop unrolling
- 29. Assert once
- 30. Constant expression checker and substitution
- 31. Boost package for the builtin sort
- 32. Enumeration traits
- 33. DECS, Daslang entity component system
- 34. Boost package for DECS
- 35. Coroutines and additional generator support
- 36. Interfaces
- 37. Export constructor
- 38. Faker
- 39. Fuzzer
- 40. Pattern matching
- Daslang 0.5 Reference Manual
- Indices and tables