Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 11 Mar 2013
Offline Last Active Aug 24 2015 07:01 AM

Topics I've Started

How Does Unreal Engine 4's Rendering Engine Stand Out

09 July 2015 - 07:09 AM

I am a C++ programmer with an intermediate knowledge of graphics programming. I have written a game engine as a hobbyist project over the past few years and hope to finish it soon. I like developing games but also enjoy creating technology. I was thinking of using UE4 to develop a game but I was also considering writing another game engine where the renderer would use DirectX 12 instead of 11 which I'm used to. I am not sure if I would have the time to create a renderer that would perform as well as UE4's but its impossible to know how long such a task would take. Unreal Engine 4 has an excellent editor and workflow but from a rendering stand point, what features has it that are very difficult to implement? Is it feasible for one programmer to write a rendering engine that has the same features and performs as well? Its one thing to be able to implement physically based shading and baked global illumination but its another thing to be able to implement them efficiently. 

Using Leaked Code Derived From An Open Source Project

09 August 2014 - 06:09 AM

Hello there. I'm considering using an open source rendering engine as part of a game engine I wish to develop. The engine is the Geometric Tools Engine and it uses the Boost License. The engine can be found here: http://geometrictools.com. I will need to modify the rendering engine over time and make improvements. Therefore my rendering engine will be a derivative work. I am unclear about a few things when it comes to licensing. GPL requires any program using GPL code to include the copyright notice at the top of all source files and also with any binaries when the derived program is distributed. However, the Boost License is a lot less restrictive. A copy of the license does not have to be included with the executable of the derived software but must be included in the source file when the code is distributed. It also states that any code distributed alongside code covered by the license is not subject to the license's requirements. This brings me to my first question:


Assuming I want to fork the rendering engine and keep it private (which the license permits), can I also add my own copyright notice under a different license to source files in the modified engine that I add? So if I create a new class and I modify an existing class from the original code to link to it, can that new class still have my copyright under a different license? I assume the code I add to the original class cannot be licensed differently.


My second question is related to leaked code:


Let's say  I set up a company and develop software derived from software covered by the Boost License and an employee leaks the derived code. Seeing as the derived code is also covered by the Boost License, can anyone obtaining the leaked code legally use it for their own purposes? Even though it may be covered by an open source license, it was not the intention of the author for the code to be distributed.


Thanks for any answers or suggestions. 





Same Animation For Different Skeletal Models

04 September 2013 - 04:07 PM

Hi. I am currently developing a game engine using Directx 11 api and I want to know if its computationally feasible to use the same animations for multiple models by calculating joint positions at runtime instead of having them pre-calculated. I have skeletal animation working using MD5 model format and I do skinning in the vertex shader. For each frame in an animation, I store a vector of joint structures with their position in model space and orientation in model space. I build an interpolated skeleton every frame and pass it as a structured buffer to the gpu where the vertex shader uses it for skinning. Animations work on different skeletal models with the same hierarchies but if their joint positions are significantly different, the animations look weird. By storing the default joint positions in joint space (before being multiplied by parent joint's orientation in model space and added to parent joint's position in model space) of a skeletal model, I could calculate their model positions and orientations each frame by multiplying their position by the parent's orientation in the animation and adding to the parent joint's model position and then multiplying the joint's orientation by parent orientation for every joint excluding the root joint. For interpolation, the orientations in joint space would be first interpolated between the orientation of the joint for the current and previous frame. Is what I'm suggesting plausible or would it be too expensive in comparison to having the joint positions pre-calculated. Sorry if I haven't explained this properly.

DirectX 11 Rigging in Shader

11 March 2013 - 02:58 PM



I am a hobbyist game developer and am new to gamedev.net. I have been trying to make a game engine for the last few months using DirectX 11 and c++. I followed tutorials on braynzarsoft.net and I am currently working on animation with the md5 format. I currently do skinning on the cpu which is quite expensive and I hope to do it in the vertex shader or compute shader instead. The problem is that hlsl does not allow dynamic arrays. I need to pass a list of weights and joints for the model to be skinned on the gpu but am unsure how to do it. A joint structure would just be a float3 and a float4 (position and rotation) and a weight structure would be a two float3s and a float (position, normal and bias). I know how to bind resources using constant buffers but I don't know how to bind a resource that is a data structure with a dynamic size. I read that a texture could be used but I can't seem to figure out how to fill a ShaderResourceView with my own data and then read it in the shader. Does anyone have any idea how to do this? I would greatly appreciate any help?