Skip to content

Releases: mogemimi/pomdog

Pomdog v0.1.8

03 Dec 21:47
Compare
Choose a tag to compare

Changelog

New features:
API changes:
Fixes:
  • Fix a bug when loading PNM image with CRLF [1e3b3af]
  • Fix a bug when changing mouse cursor on cocoa views [29e4a86]
  • ... and minor fixes

Pomdog v0.1.7

10 Oct 10:37
Compare
Choose a tag to compare

Changelog

New features:
  • Add dark mode title bar support for Windows 10 [b778796]
  • Add POMDOG_PLATFORM_EMSCRIPTEN macro [434e2a2]
  • Add tool to create an archive of files inclusive of submodules [508010c]
API changes:
Fixes:
  • Warn when platform is undefined or not supported [817799e]
  • Use is_trivially_copyable and is_standard_layout instead of deprecated std::is_pod in C++20 [daa4917]
  • Add inline keywords [2493f41]
  • Fix a bug about sampler's MinMipLevel in GL4 [5fdcf1e]
  • Update submodules to latest version. [f2d1e86] [7f47b8a] [51dd354]
  • ... and minor fixes

Pomdog v0.1.6

03 Oct 13:30
Compare
Choose a tag to compare

Changelog

New features:
  • Add new Network libraries
    • Add support for TCP connections [7864279]
    • Add support for UDP sockets [44359c7]
    • Add support for TLS connections [16a77cf]
    • Add support for HTTP/HTTPS client [8bfa5f9]
  • Graphics:
    • Add TextureAddressMode::Border [344b992]
    • SpriteBatch allows RenderTarget2D as a texture [f6f5f43]
    • Add support to create Metal shader from precompiled data [6c00b99]
    • Add support for getting texture pixel data from render target [62ccd80]
    • Support RG, RGB and alpha-only surface formats in SpriteBatch for SpriteFont [e02438c]
    • Add built-in BasicEffect [c116637]
    • Add support for SetScissorRect() command [3eb95ee]
  • Math:
    • Add missing matrix functions [46ae505]
    • Add Lerp(), ToEulerAngles(), Rotate() and Euler() functions to Quaternion [a0d62a5] [2b9aaea] [14a688b]
    • Add Vector2::Rotate() function [4b3f861]
  • Asset File Format:
    • Add support for PNM/Netpbm texture files [052b532]
    • Add support for Ogg/Vorbis audio files [eb4f6e1]
    • Add support for loading SVG images [9068d30]
  • Add Delegate class as a lightweight signal/slot implementation [b755376]
  • Add error utility for avoinding exceptions [c5e5040] [b66c90f]
  • Add SpinLock class [575409b]
  • Add StringHelper::ReplaceAll() function [0228265]
  • Add ToSlash() and IsAbsolute() functions in PathHelper [1531c82]
  • Add support for text input and mouse wheel scroll on X11 [e5a55bc] [d1c1ea8]
  • Add new GUI module for in-game editor [4c64f9c]
  • Add TextField support [389e6ad]
API changes:
Fixes:
  • Run the game loop on the main thread for OpenGL + macOS [2ad73d6]
  • Fix runtime error when using depth buffer without stencil on Metal [794b765]
  • Metal's screen space is a left-handed [3683997]
  • Avoid to freeze renderer when window un-minimized [c1e1e59]
  • Add documentation [c7052d9] [a2606aa]
  • Add documentation comments [3ba1ddf] [6547456] [ec54d35] [5a72bd4] [f7eb338] [d2d3069] [b0a3f08] [bfee664] [c95dedb] [6d4b8ea]
  • Fix a bug in index-buffer offset calculation for Metal [92742f1]
  • Return an unchanged vector if the vector is too small when normalizing [52c757e]
  • Fix DXT/DDS texture bug for OpenGL [39493f0]
  • Fix DXT/DDS texture bugs for Metal and Direct3D [2ea07c9]
  • Fix bug when loading R8, BC1 or NPOT (non power of two) textures on Direct3D 11 [664a610]
  • Fix bug with rendering on Direct3D 11 [93b708d]
  • Fix OpenGL bug, clearing a depth buffer doesn't work after setting glDepthMask to false [74a6201]
  • Fix sorting of audio devices with compare function [192afbe]
  • ... and minor fixes

Pomdog v0.1.5

25 Jul 08:06
Compare
Choose a tag to compare

Changelog

New features:
  • Add new feature-showcase project for testing features [03dbe2c]
  • Add the documentation for Application #26
  • Add missing application features for window system
    • Add support for disabling resizing of X11 window [0fb3a35]
    • Add support for changing/hiding mouse cursor in X11 [d117fea]
    • Add mouse position tracking in MTKView [1b770bf]
    • Convert mouse position from cartesian to screen coodinate system for Cocoa [d8bc820]
    • Fix tracking area when resizing window in Cocoa [b251874]
    • Add input text support for Win32 [5f8059c]
  • Replace testing framework with Catch2 [8239121] [c8c3002] [3cfab8e]
API changes:
  • Switch between OpenGL and Metal programmatically [75d38d3]
    • Select graphics backend when bootstrapping cocoa app [aa113cd]
  • Redesign SpriteBatch class and fix some bugs [bde1d53]
    • Draw texture region directly with SpriteBatch [c60450f]
    • Use SpriteBatch in SpriteFont instead of SpriteBatchRenderer [40db356]
    • Use SpriteBatch instead of SpriteBatchRenderer [2e90316]
    • Delete obsolete SpriteBatchRenderer class [c54c02c]
  • Move MagicaVoxel library into a new experimental directory [fcef973]
  • Move Tween library into a new experimental directory [f68e14f]
  • Move ImageEffects library into a new experimental directory [8eab98f]
  • Move Particle2D library into a new experimental directory [31a2afd]
  • Replace PolygonBatch with PrimitiveBatch and refactor [288db6c] [f4238ed]
  • Fix inconsistent naming in Log class [ffef0d9]
    • Add 'set' and 'get' prefixes to LogChannel [d8ed47f]
  • Check if compiling metal shader offline [126d7bd] [06b9f11]
  • Rewrite dev tools from Python to Golang [8e531a8] [5d6c7ae] [7704140]
  • Remove GYP configuration and scripts [b7e24ac]
  • Remove Timer::GetFrameDuration() in favour of GameClock::GetFrameDuration() [640bd76]
  • Remove Noncopyable class [8449332]
  • Use std::optional instead of Optional [05af1ea] [08ccc89] [64e6244] [620ebc8]
  • Set Mac OS X deployment target to 10.12 [6a2dfd9]
  • Update minimum required MSVC version to 2019 [9fe24f3]
  • Add missing declarations for IsConnected() [7f7d86e]
Fixes:
  • Use SetWindowLongPtr instead for both 32-bit and 64-bit version of Windows [a5c510d]
  • Don't use ASMINF and ASMV because zlib's assembler code may have bugs [150e2a2] [a5f317f]
  • Fix Metal assertion when the graphics device is lost [352c038]
  • Fix asm declaration when compiling on FreeBSD [5254878]
  • Fix scaling frame duration twice in Timer [01790cd]
  • Fix several warnings on MSVC [c434f4f] [23cf0f1] [4b31179] [68813a7] [78e76c4] [3609568]
  • Fix several warnings on Clang [40813da] [55cf33e] [904b5ed]
  • Prevent warning C4702 when enabling optimization in release mode [bf57277]
  • Enable more warnings on Clang and GCC [9c2318a]
  • Enable compile options when generating Xcode project [856ff3b]
  • ... and minor fixes

Pomdog v0.1.4

22 Aug 19:11
Compare
Choose a tag to compare

Changelog

New features:
  • Add Gamepad support for Windows, Mac and Linux (#16, #17)
    • Add gamepad support for Windows [c0212fd]
    • Add gamepad support for Mac [bae43d0]
    • Add gamepad support for Linux [3c1b360]
    • Add GamepadUUID class [fa6b8b6]
    • Add Connected and Disconnected signals into Gamepad [4f95fff]
  • Fully support Metal API
  • Add CMake build support (#6)
  • Add GCC 8 support [7b1b964]
  • Add ArchLinux support [1bbc744]
  • Move docs from wiki to the repository [6347915]
  • Add utility functions for string processing [161310a]
  • Emulate glDrawArraysInstancedBaseInstance and glDrawElementsInstancedBaseInstance on OpenGL <= 4.1 for Mac [57a1c94]
  • Emulate DXGI_FORMAT_A8_UNORM or MTLPixelFormatA8UNorm on OpenGL [9c764a6]
API changes:
  • Pomdog requires C++17 and later [9c60d79] [12cee02] [49938e4] [39789fb] [6099928]
    • Upgrade the minimum supported Clang version to 6.0 [f503b39]
    • Upgrade the minimum supported Xcode version to 9.2 [dd2be73] [a13ad49]
    • Upgrade the minimum supported Ubuntu version to 18.04 LTS
    • Bump the required version of Windows to 10 which is latest [5b0fc42]
  • Integrate experimental graphics features into include/Pomdog/Experimental directory [5c4fbd3]
  • Add utility function instead of SetRenderTargetViewFormats [7a4cb1c]
  • Add GetPresentationParameters() to get back buffer format [e1f5fbf]
  • Remove offset from constant buffer index for Metal [3c4f69f]
  • Use variable template for math constants (requires C++14 and later) [abd3ab1] [0ef5504]
  • Replace std::array with raw arrays in matrices [d2a55a1]
  • Remove POMDOG_CONSTEXPR_ASSERT macro [a6e898c]
Fixes:
  • Fix many Metal graphics bugs
    • Fix MTLVertexDescriptor bug [c19b9ff]
    • Align constant buffer to 256 bytes for Metal under macOS [e400d03]
    • Add missing store action on Metal [466f8c9]
    • MTLSamplerDescriptor's max anisotropy must be >= 1 [11cf006]
    • Fix unused parameter in BufferMetal::GetData() [0919f6f]
  • Fix graphics command bug with odd-even sort [0955f67]
  • Fix a bug about switch-case fall-through [f84a154]
  • Use near and far distances instead of MinDepth/MaxDepth of a viewport [57d6724]
  • Fix -Winstantiation-after-specialization on Apple LLVM 9.0 [0c2f2d5]
  • Enable more compiler warnings and fixes them.
  • ... and minor fixes

Pomdog v0.1.3

01 Dec 09:19
Compare
Choose a tag to compare

Changelog

New features:
  • Add RSV and DSV formats to PipelineStateDescription [8690aa3]
  • Add experimental Metal implementation [d5f2834] [f95f7fe]
  • Add Vulkan implementation as an experimental feature [5180fac]
  • Add Depth32_Float_Stencil8_Uint to DepthFormat [0d447d5]
  • Add RenderPass class [4358936]
  • Add a experimental FRP library for gamedev [2d0e45f]
  • Enable Async module support [33e90d2]
  • Add Split() functions into StringHelper [76af5ad]
  • Add #include directive support in glsl [cc6a1f8]
  • Add animated GIF support by using GIFLIB [aef6d7a]
  • Add runtime texture packing support [238f2b7]
  • Add helper class that uses aligned allocation [0d7a131]
  • Add math helper functions [014f586]
  • Add signals for mouse events [6f12cdb] [6c650d3] [293450a] [717994c] [78a1919]
  • Add alpha-to-coverage support with OpenGL 4 [f96be39]
  • Add Vector4::Transform() function [2a74dfd]
  • Add PlaneIntersectionType enum class [145ba22]
  • Add Plane and BoundingFrustum [84e488b]
API changes:
  • Upgrade the minimum supported OS X version to 10.11 [438e234] [a499388]
  • Add Multiply() function instead of Concatenate() function [a29d1b3]
  • Remove ClearOptions class [01b66c8]
  • Change graphics command APIs to use RenderPass instead [7d374fb] [530ea7a]
  • Replace GraphicsContext with NativeGraphicsContext [7fa4976] [a5e8058]
  • Replace std::uint32_t with char32_t for UTF-32 character [a8bab20]
  • Fix SpriteFont bug [e4beb35]
  • Use explicit template instantiations whenever possible [62ce9b8]
  • Change API of entity component system [3286e86]
  • Use const member function whenever possible [9765cad]
  • Change blend state: NonPremultiplied -> Opaque [bdd791b]
  • Change clear color to array of float (Vector4) from array of uint8_t (Color) [d9a6a8e]
  • Change low-level draw command APIs to use start location of buffer [67528a9]
  • Big refactor experimental UI system [55b7166] [e2cdc01] [1724886] [e7b2247] [5f898d1]
Fixes:
  • Fix compile error when using GCC with -std=c++14 [caced71]
  • Optimize CreatePerspectiveFieldOfView functions [1425151]
  • Minor coding style revisions [2013daf - 3cd4f5e]
  • Remove all 80-chars line separators [a2cea02]
  • Fix -Wpessimizing-move warnings (please see: section 12.8.31 of N3690) [33bcbc4]
  • Remove default argument to avoid a Visual C++ Compiler Bug C1001 caused by 'msc1.cpp', line 1433 [28326a5]
  • Fix Ray/BoundingBox intersection distance [86d66a5]
  • Correct SpriteFont::MeasureString() [fef5df9]
  • Fix MiddleButton bug for cocoa [a6a7c38]
  • Use MAP_WRITE_DISCARD when mapping dynamic constant buffer [9085f7a]
  • ... and minor fixes

Pomdog v0.1.2

23 Feb 08:05
Compare
Choose a tag to compare

Changelog

New features:
  • Use git submodules for dependencies
  • Use Xcode project instead of gyp [05e7d92]
  • Add Normalize() and Relative() to PathHelper class [91a1fb7]
  • Add GetCurrentDirectory() function [71d00da]
  • Add ToEulerAngles() function in Vector3 [d93e6c8]
  • Add ToDegrees() and ToRadians() overloads [d8c5e0b]
  • Add Wercker CI support [667983e]
  • Add unit test for experimental [0a0fa1e]
API changes:
  • Add 'get' prefixes to accessor functions
  • Refactor shader builders [b63d477]
  • Add noexcept keyword to math functions [48b4e60]
  • Add noexcept keywords to vector math classes [1ba5c18]
  • Add 'final' keyword to graphics classes [aa5510e]
  • Move FileSystem.hpp and PathHelper.hpp to Utility directory [97d6c0b]
  • Rename functions: CreateLerp() => Lerp() [e0f19a4]
  • Rename BlendFunction enum class to BlendOperation [7bba196]
  • Remove unused LogStream class [6c73c48]
Fixes:
  • Replace 'pragma mark' with 'MARK:' comment [a0c869d]
  • Replace header include guards with '#pragma once' [f5682b8]
  • Fix compiler warnings in MSVC 2015 [952c489]
  • Refactor assert [9f4eebf]
  • Minor refactor in experimental [2850af8]
  • Update experimental graphics module [e225f16]
  • Update experimental GUI classes [2fb55f3]
  • Fix bug in Quaternion::CreateFromYawPitchRoll() [aead7dd]
  • Fix a bug in PerspectiveFieldOfView() function and refactor [6e1b35f]
  • ... and minor fixes

Pomdog v0.1.1

08 Oct 02:39
Compare
Choose a tag to compare

Changelog:

  • Add X11 window system
  • Add Linux support (Not fully implemented and tested yet)
  • Add Ray class in Math
  • Add FileSystem class in Utility
  • Add UserPreferences class in experimental
  • Add concurrency classes
  • Refactor GameClock class
  • Minor refactor some classes
  • Remove unused Lua engine from dependencies