Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
23. July 2016

 

Khronos Group, the organizational body behind OpenAL, OpenCV, OpenGL and it’s successor Vulkan, have just released Vulkan-hpp on Github.

Khronos introduces Vulkan Hpp, an open source Vulkan C++ API. Vulkan is a C API and as such inherits all common pitfalls of using a general C programming library. The motivation of a low-level Vulkan C++ API is to avoid these common pitfalls by applying commonly known C++ features while keeping the overall structure of a Vulkan program and preserving the full freedom it provides as low-level graphics API

 

As the description says, it’s a C++ API over top of the C based Khronos API.  The design goal is to add no additional overhead over using the C API, implemented entirely using header files.  Some of the headline features are:

  • Type-safe enums
  • Improvements to Bit Flags
  • String Conversions
  • Alternative Initialization of Structs
  • Enhancements beyond native Vulkan
  • Exceptions and Returns Types

 

There are a collection of C Vulkan examples ported to the new C++ wrapper available here.

 

To get started with Vulkan-Hpp:

  • Clone the repository: git clone https://github.com/KhronosGroup/vkcpp
  • Update submodules: git submodule update --init --recursive
  • Use CMake to generate a solution or makefile for your favourite build environment
  • Launch the build

 

Vuklan-Hpp is available for download on Github here.

GameDev News


18. July 2016

 

Last year I featured PlayCanvas in the Closer Look at game engine series.  It’s a power HTML5 powered 3D game engine that was saddled with a rather confusing pricing model.  Pricing previously looked like:

pricing

Then on top of these prices there was an additional tier of pricing for “Organizations”.  It certainly wasn’t an ideal setup.  Thankfully they have streamlined from 7 different price points to 3, while increasing the resources of each tier.  The new pricing looks like:

image

 

Much better.  The free tier is mostly unchanged.  You still get 200MB, unlimited public and no private projects.  The personal tier now comes with 1GB and unlimited private projects.  The gotcha with this tier is it requires a PlayCanvas splashscreen.  Finally there is the organization tier which has no custom branding, up to 10GB in space and has additional project management options.  Speaking of those options, many are new to this release:

An organization offers you a convenient way to manage users and projects for businesses or for larger projects. With an organization you can specify multiple administrators who can add and remove users with project based permissions. Additionally, organization plans come with a convenient single invoice for your business.

GameDev News


11. July 2016

 

nVidia just released version 3 of their Gameworks OpenGL/Vulkan samples.  The GameWorks samples is described as:

The NVIDIA GameWorks™ Graphics samples are a comprehensive set of OpenGL, OpenGL ES and Vulkan samples that programmers of all levels can use to bettervulkan2 understand modern 3D graphics techniques and enhance games, simulations and other 3D projects.

 

New to the 3.0 release are:

  • Vulkan support on Windows, Android, Linux for desktop x86_64 and Linux for Tegra available NOW!
  • Full source code and assets to the popular Vulkan "Fish!" demo
  • Threaded rendering in Vulkan and OpenGL (using AZDO) with matching versions of the Fish demo
  • Additional Vulkan Samples
  • Single-pass Cubemap Rendering Sample
  • Metaball Rendering Sample
  • MSAA with Deferred Shading Sample
  • OpenGL Command Lists Sample

The homepage for the samples is available here.  The source code of the samples is available on Github while the documentation is available here.

GameDev News


8. July 2016

 

Mesa is a key component of OpenGL support on open source platforms and just announced release 12.0.0.  Major features of this release are Vulkan drivers for Intel chipsets, OpenGL 4.3 support on modern GPUs, OpenGL ES 3.1 support and more.

The 12.0.0 announcement from the Mesa developer mailing list:

It's a real honour to announce Mesa 12.0.0.

This release has massive amount of features, but without a doubt the biggest
ones are:
 - Vulkan driver for Intel hardware from Ivy Bridge onward.
 - OpenGL 4.3 for nvc0, radeonsi and i965 (Gen8+)
 - OpenGL ES 3.1 on nvc0 and radeonsi
 - GLVND support for GLX, OpenGL
 - New gallium software driver - SWR.
 - DRI3 enablement for VDPAU, OMX and VAAPI

Note:
 - Gallium radeon drivers (r300, r600 and radeonsi) now require kernel 3.2 and
LLVM 3.6 or later.
 - Building SWR requires python2, since some of the generated files cannot be
distributed as part of the release tarball.

GameDev News


2. June 2016

 

GLFW, a library providing cross platform window and input handling functionality for OpenGL, OpenGL ES and now Vulkan applications, just released version 3.2.  The aforementioned Vulkan support is probably the biggest new feature in this release, however this release contains several new features.

From the complete change log:

  • Added glfwVulkanSupported, glfwGetRequiredInstanceExtensions, glfwGetInstanceProcAddress,glfwGetPhysicalDevicePresentationSupport and glfwCreateWindowSurface for platform independent Vulkan support
  • Added glfwSetWindowMonitor for switching between windowed and full screen modes and updating the monitor and desired video mode of full screen windows
  • Added glfwMaximizeWindow and GLFW_MAXIMIZED for window maximization
  • Added glfwFocusWindow for giving windows input focus
  • Added glfwSetWindowSizeLimits and glfwSetWindowAspectRatio for setting absolute and relative window size limits
  • Added glfwGetKeyName for querying the layout-specific name of printable keys
  • Added glfwWaitEventsTimeout for waiting for events for a set amount of time
  • Added glfwSetWindowIcon for setting the icon of a window
  • Added glfwGetTimerValue and glfwGetTimerFrequency for raw timer access
  • Added glfwSetJoystickCallback and GLFWjoystickfun for joystick connection and disconnection events
  • Added GLFW_NO_API for creating window without contexts
  • Added GLFW_INCLUDE_VULKAN for including the Vulkan header
  • Added GLFW_CONTEXT_CREATION_API, GLFW_NATIVE_CONTEXT_API and GLFW_EGL_CONTEXT_API for run-time context creation API selection
  • Added GLFW_CONTEXT_NO_ERROR context hint for GL_KHR_no_error support
  • Added GLFW_TRUE and GLFW_FALSE as client API independent boolean values
  • Added icons to examples on Windows and OS X
  • Relaxed rules for native access header macros
  • Removed dependency on external OpenGL or OpenGL ES headers
  • Removed _GLFW_USE_OPENGL, _GLFW_USE_GLESV1, _GLFW_USE_GLESV2, _GLFW_WGL, _GLFW_NSGL, _GLFW_GLX and _GLFW_EGLconfiguration macros
  • [Win32] Added support for Windows 8.1 per-monitor DPI
  • [Win32] Replaced winmm with XInput and DirectInput for joystick input
  • [Win32] Bugfix: Window creation would segfault if video mode setting required the system to be restarted
  • [Win32] Bugfix: MinGW import library lacked the lib prefix
  • [Win32] Bugfix: Monitor connection and disconnection events were not reported when no windows existed
  • [Win32] Bugfix: Activating or deactivating displays in software did not trigger monitor callback
  • [Win32] Bugfix: No monitors were listed on headless and VMware guest systems
  • [Win32] Bugfix: Pressing Ctrl+Pause would report GLFW_KEY_UNKNOWN
  • [Win32] Bugfix: Window size events would be reported in wrong order when restoring a full screen window
  • [Cocoa] Made joystick polling more efficient
  • [Cocoa] Removed support for OS X 10.6
  • [Cocoa] Bugfix: Full screen windows on secondary monitors were mispositioned
  • [Cocoa] Bugfix: Connecting a joystick that reports no name would segfault
  • [Cocoa] Bugfix: Modifier flags cache was not updated when window became key
  • [Cocoa] Bugfix: Dead key character composition did not work
  • [Cocoa] Bugfix: The CGL context was not released until the autorelease pool was drained by another function
  • [X11] Bugfix: Monitor connection and disconnection events were not reported
  • [X11] Bugfix: Decoding of UTF-8 text from XIM could continue past the end
  • [X11] Bugfix: An XKB structure was leaked during glfwInit
  • [X11] Bugfix: XInput2 XI_Motion events interfered with the Steam overlay
  • [POSIX] Bugfix: An unrelated TLS key could be deleted by glfwTerminate
  • [Linux] Made joystick polling more efficient
  • [WGL] Changed extension loading to only be performed once
  • [WGL] Removed dependency on external WGL headers
  • [GLX] Added glfwGetGLXWindow to query the GLXWindow of a window
  • [GLX] Replaced legacy drawable with GLXWindow
  • [GLX] Removed dependency on external GLX headers
  • [GLX] Bugfix: NetBSD does not provide libGL.so.1
  • [EGL] Added _GLFW_USE_EGLPLATFORM_H configuration macro for controlling whether to use an existing EGL/eglplatform.hheader
  • [EGL] Added and documented test for if the context is current on the calling thread during buffer swap
  • [EGL] Removed dependency on external EGL headers

GameDev News


See More Tutorials on DevGa.me!

Month List