Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

31. December 2017


The Ogre 3D open source renderer just released version 1.10.11, the final version before moving on to 1.11 releases that will allow for changes that breaks the existing API.  Ogre 1.10 received several new features including PBR (Physically Based Rendering), a pre-compiled Android SDK option, improved RTSS (real-time shading system) as well as improved logging.


Full details of the release from the release notes:

  • Main
    • allow creating camera without a RenderSystem
    • allow passing point size & attenuation via AutoParamDataSource
    • VertexPoseKeyFrame: fix typo in iterator that broke exporting
    • Fix OgreBillboardChain element counting (#607)
    • forward useShadowBuffer setting in VertexData::reorganiseBuffers
    • Log - add LML_WARNING and color output if on xterm
    • use new logging facilities for better output
    • reset TextureProjector on destroyShadowTextures
    • SkyBox - avoid index by using triangle strip
    • Unified Program - log if we are delegating to wrong program type
    • HardwareBuffer: _updateFromShadow - use HBL_WRITE_ONLY
    • do not register duplicate resource that supposed to be ignored
    • Use std::unordered_xxx #if OGRE_USE_STD11
    • Since VC++ 10.0 aka 2010 std::hash is made available in tr1 namespace via using-declaration, we can use it directly without ABI breakage
    • Since VC++ 11.0 aka 2012 std::unordered_xxx are made available in tr1 namespace via using-declaration, we can use them directly without ABI breakage
    • deprecate CompositionTargetPass::PassIterator
    • deprecate HardwareBuffer::UploadOptions
    • RenderSystem - deprecate legacy FFP PointSprite API
    • CompositionTechnique: deprecate TargetPass & TextureDefinition
    • KeyFrame - deprecate getPoseReferenceIteratorIterators
    • generate deprecation warning on using Any::isEmpty
  • CMake
    • Add Win10 SDKs to DX11 search script
    • Android Build SampleBrowser library using CMake instead of android makefiles
    • Bugfix: FindDirectX11 would fail to detect old DX SDK June 2010 + MSVC 2008 + Windows 8. Other combinations may also not be working.
    • enable ETC and disable FreeImage by default
    • Do not use the new DX SDKs when building for MSVC 2008.
    • FindDirectX11: Try harder to find DX11 SDK as part of Modern SDK, use version passed by CMake or highest available, search in standard and obtaines from registry location, restored support for ARM and ARM64 library archs.
    • Fix feature summary
    • the debug/ release split is a win32 thing and annoying elsewhere. Remove on other platforms.
  • Bites
    • ApplicationContext - query Cg availability at runtime
    • CameraMan - try to replicate the camera configuration
  • RTSS:
    • add AssignmentAtom for simple "a = b;" statements
    • avoid sorting function atoms by using a map of groups - deprecate obsolete internalOrder parameter
    • decide isProgrammable per pass and not per technique
    • FFPTexturing - implement texturing of point sprites
    • FFPTransform - set the point size in shader
    • GLESProgramWriter - fix call to StringUtil::replaceAll
    • GLSL - directly rename params instead of using a rename map
    • GLSL - factor out writeFunctionDeclaration
    • GLSL - globally forbid assignment to "in" and remove local hacks
    • GLSLProgramWriter - reuse the normal swizzling path
    • GLSLProgramWriter - skip parameter names in forward declarations
    • GLSLProgramWriter - small refactoring of writeMainSourceCode
    • port FFPColour and FFPLighting to addAtomAssign
    • SampleLib_ReflectionMap - drop now obsolete flip for GL
    • ShaderGLSLESProgramWriter - remove unused FunctionVectorIterator
    • ShaderParameter always include decimal point for float values
    • use overloading to create const parameters. Deprecate old way.
    • deprecate FFP_FUNC_ASSIGN
    • derive GLSLES program writer from GLSL writer to share code
    • NormalMapLighting - derive from PerPixelLighting to share code
  • Java: generate Ogre jar
  • GL: remove arbitrary point attenuation factor
  • GL3Plus
    • correctly handle reading from HBU_WRITE_ONLY buffers
    • Hardware*Buffer::copyData - also update ShadowBuffer
    • HardwareBuffer - drop superficial glFlushMappedBufferRange
    • respect useShadowBuffer setting - fixes bboxes with HW skinning
  • GLES2
    • enable RSC_MAPBUFFER for GLES3 at runtime
    • hardware based locking requires EXT_map_buffer_range
    • HardwareBuffer - drop superficial glFlushMappedBufferRange
    • prevent crash on shutdown
    • GLSLESProgram: fix overloaded-virtual
  • GL*
    • simplify reading/ writing to shadow buffers
    • slightly clean up EGL/WIN32
    • update EGL implementation for Win32
  • D3D11: Use DXGI_SWAP_EFFECT_FLIP_DISCARD if all stars are aligned: Win10 SDK && Win10 runtime && useFlipMode = true
  • D3D9:
    • compatibility with USE_STD11 and THREADS=3
    • fix wrong operator precedence in _canAutoGenMipmaps
  • Terrain
    • properly handle loading in synchronous mode
    • Do not remove terrain instance if it's being processed in the background thread. (#587)
  • HLMS
    • correctly set blendFactor & set to replace by default
    • not finding template (parts) is an error
  • XMLConverter: fix errors in the DTD
  • Samples
    • add PBR demo based on the glTF2.0 reference implementation
    • force strip SampleBrowser library on android
    • ShaderSystem - correctly enable reflection map SRS on GL
    • Shadows - fix wrong material name for MAT_DEPTH_FLOAT
    • Shadows - simplify material script and code
    • SkeletalAnimation - make sure vertex buffers are readable
    • Media: upgrade meshes to latest format to silence warning
  • Tests
    • extend MeshSerializer tests to pose animations
    • add DTD validation tool for XMLConverter output and run it on CI
    • convert SceneQuery VTests to unit tests
    • correct case for UniqueModel skeleton in strict mode
    • fix building on old MSVC
    • gtest - silence tr1 deprecation warning for VS2017
    • improve MeshLodTests.LodConfigSerializer test
    • PlayPen_PointSprites - correctly configre pass
    • RootWithoutRenderSystemFixture - HBM must be deleted after Root
    • PlayPen_PointSprites: adapt point size parameter again
    • PlayPen_StencilShadows*: use modulative shadows
    • VTests: allow test to pass if SSIM > 0.999
    • VTests: more tests work on all GL RS by now
    • PlayPen_TransparencyMipMaps - use correct pass for second TU
  • Docs
    • fix duplicate labels and override typo
    • fix parsing of GLSupport/GLSL and GLES2 classes
    • further improve the RTSS tutorial (referencing examples)
    • improve RTSS and HLMS tutorials
    • OgreShadows - use actual code and drop obsolete tex file
    • port "Shadow Mapping in Ogre" to doxygen
    • RTSS - document all currently available material attributes
    • RTSS - reference normal_map_space descriptions
    • Bites: document all keys handled by AdvancedRenderControls


You can learn more about the release here.  Ogre3D is free and open source and can be downloaded here.

GameDev News

20. December 2017


Apple recently required all developers on the App Store submit their apps in 64-bit or be subject to removal.  Google have just announced similar, but less draconian measure for their own Google Play store.  Details of the new requirements from the Android Developer Blog:

  • In the second half of 2018, Play will require that new apps and app updates target a recent Android API level. This will be required for new apps in August 2018, and for updates to existing apps in November 2018. This is to ensure apps are built on the latest APIs optimized for security and performance.
  • In August 2019, Play will require that new apps and app updates with native libraries provide 64-bit versions in addition to their 32-bit versions.
  • Additionally, in early 2018, Play will start adding a small amount of security metadata on top of each APK to further verify app authenticity. You do not need to take any action for this change.

We discuss the change in this video in more detail.

GameDev News

19. December 2017


The next major release of the Unity game engine is here, 2017.3.  New features of this release include 360 degree videoUnity20173 skybox support, new code organization functionally via assembly definition, transform gizmo improvements, XBox One X support, many graphics improvements and more.


New features in this release include:

  • 360 video
  • Cloth improvements
  • Cinemachine Improvements
  • New Transform Tool
  • Particle System improvements
  • Standard Particle Shaders
  • Assembly Definition Files
  • 32 bit Mesh Index Buffers
  • GPU Instancing improvements
  • Dynamic Resolution
  • Async Compute Runtime
  • Crunch Compression Library Update
  • Xbox One X Support
  • Recorder
  • Standard Events
  • Progressive Lightmapper improvements (Preview)


You can learn more about the release here, view the full release notes here and Unity can be downloaded here.

GameDev News

18. December 2017


You may recall Google Poly, a large free repository of 3D models released earlier in November.  Now Google have released a REST based API for programmatic access to the Poly database of models.  You can play around with the API using the Google API Explorer interactive tool available PolyUnityhere.  You can learn more about the API here.


In addition to the REST api, they have created plugins for the following technologies:


You can download everything here.


If you’ve never heard of Google Poly, be sure to watch the following hands-on video.

GameDev News

18. December 2017


Google have just released the second preview version of ARCore, their augment reality SDK.  Augmented reality is really nothing new, it’s just bringing together camera, GPS, gyroscope and similar libraries in a single location, enabling developers to overlay information on real worldARCore images.


Details of this new release:

Today, we’re releasing an update to our ARCore Developer Preview with several technical improvements to the SDK, including:

  • A new C API for use with the Android NDK that complements our existing Java, Unity, and Unreal SDKs;

  • Functionality that lets AR apps pause and resume AR sessions, for example to let a user return to an AR app after taking a phone call;

  • Improved accuracy and runtime efficiency across our anchor, plane finding, and point cloud APIs.

To learn more about the SDK updates, check out the Android, Unity, and Unreal Github pages.


Along with the updated preview for Android, they also released updated Unity and Unreal Engine implementations.


Related to the ARCore announcement, Google also killed off Project Tango a competing AR project at Google.

The Tango project will be deprecated on March 1st, 2018.
Google is continuing AR development with ARCore, a new platform designed for building augmented reality apps for a broad range of devices without the requirement for specialized hardware.

GameDev News

Month List

Popular Comments