latest posts

Getting back into my bbXP project this morning I was running into issues with VS 15 Preview 3 and the bbXP ASP NET Core project from loading. I kept getting:

The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0\DotNet.Web\Microsoft.DotNet.Web.targets" was not found. Confirm that the path in the declaration is correct.

Via the following popup:


Knowing VS 2015 Update 3 just came out and that was a new tooling update for .NET Core available here, I downloaded that update hoping the installer would place the files VS 15 Preview required into the 14.0 folder of that same path.

Low and behold, it did:



So to resolve this issue, simply copy the C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet.Web folder to C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0. After reloading the project I had 0 issues working with VS 15 Preview on my ASP NET Core project. I hope that helps out someone in the same boat.
Over the past couple of weeks I have been taking a deep dive back into game development, specifically VR Game Development. With the Rift, Vive, Hololens and HDK to name a few are either on the market or going to be on the market within the next few months I wanted to be at the forefront like I was with IoT. As with any endeavor, I took a look into the main two approaches presented to developers: Unity/Unreal/Other existing engine or homebrew engine.

Existing Engine Approach

The first approach is clearly the most bang for the buck as far as investment, both Unity and Unreal Engine offer a ton of functionality out of the box, have large communities and lots of documentation. I personally tried both Unity and Unreal over a weekend to get antiquated with some success (more so on the Unity side). The main problem with both of these approaches is that I felt like I was on rails, constrained by someone elses code and having used frameworks in my day job from Xamarin and Telerik, updates always proved problematic.

Homebrew

For those that have not followed this blog for long, I have off and on ventured into OpenGL, Glide and XNA since 1998. Knowing that OpenGL and DirectX shifted off the fixed pipeline models in favor of a programmable pipeline, I knew I would be in for a learning curve no matter which route I went down. In looking into Vulkan one evening I uncovered a huge lack of documentation on the API and how you are supposed to use it so I started down the DirectX path for the first time since DirectX 8. For those unaware, SharpDX provides a really lightweight wrapper for DirectX 12 in C#. Deep diving into the API everything was clicking as most things were what I was familiar with in either my day job (command lists are really similar to a Service Bus/Messaging architecture) or SwapChain (double buffering).

As one could infer, I went with a homebrew DirectX 12 approach. To follow the Unity approach of a launcher Win32 app and then directly launching the game, I utilized my XAML WPF skills to throw together a quick frontend to manage graphics adapter, resolution, FSAA and full screen options. This ended up being a great approach to the DXGI namespace in SharpDX to query all of the supported resolutions and graphics adapters. Which led to abstracting out the input handling, sound handling, graphics renderer and level loading. As of right now basic sound playing, keyboard input all utilizing DirectX 12.

The big element remaining to get a basic "game" up and running in writing an export from Blender to a series of triangle strips to then be read by my renderer code. Lastly getting the virtual camera working with keyboard and mouse input. Once these elements on in there, a lot remains such as collision detection, physics, texture mapping, 2D UI and most importantly the VR component. I recently purchased 2 AMD Radeon RX-480 cards (another blog article is coming on those in particular) and will be getting the Razer HDK v2 as soon as it is available.

For those curious, all of this work is being open sourced like everything I do and is available on my github in the HVR.DX12 project.
As a frequent or infrequent visitor might have noticed, the site has undergone a slight refresh. I kept the bootstrap menu, but stripped out the right hand panel (though it might come back in a different form). The biggest undertaking was the complete rewrite of the codebase from the ASP NET MVC 5 and Entity Framework 6.1 to ASP NET Core and Entity Framework Core. The code base is now considerably smaller and as you can tell is faster without caching even turned on as it was before.

As my shift in time spent has shifted from blogging to my GitHub projects, I wanted to shift focus of my blog to my github projects. Over the next couple weeks I will be adding in some feeds and milestones of the projects I am working in the header area. This way a visitor might notice I had not blogged in a while, but can see active progress on GitHub.

That being said I have been dividing my time between a couple different projects. One being bbXP, the codebase that powers this blog. The other being jcFUS, a collaboration tool for businesses and consumers. In the coming weeks expect a lot of coverage on these projects.

One might be asking, where is the updated code for bbXP? I will be pollishing it up today and checking it into the GitHub repository.

Some other features coming back at some point:
  • Archives
  • Content Search
  • White Papers
  • My Computers
So stay tuned for more updates and some other posts on the hardware side of my passion.