Quick access

Visual Studio 3D Starter Kit

This sample contains the starting point for a basic game for Windows 8.1 and Windows Phone 8.1, a “Starter Kit” which provides support for consuming runtime assets produced by the VS tools. This includes loading and rendering assets (meshes, textures and shaders).

Hi,
first, the starter kit worked fine with Windows 10 and VS 2015 without Update 1. But with a new Installation, Update 1 is required and when loading a fbx file there will be the error message "The System cannot find the file specified". The problem is, you can't install the Tools for Universal Windows Apps without Update 1.
So is there a Workaround?

Hi Roberto,
This fbx file I got it from a professional 3D model store, but it also didn't work.
362_s_icosa.fbx. It shows compile time but at run time nothing.
God only knows what I am missing.
auto loadMeshTask = Mesh::LoadFromFileAsync(
m_graphics,
L"362_s_icosa.cmo",
L"",
L"",
m_meshModels)
https://onedrive.live.com/?id=ED95A04E7576C8D8%2112330&cid=ED95A04E7576C8D8&group=0
Sorry for asking same question.

I am working on Window 10. I am using dude.fbx which is provided by Microsoft that does not work either and getting the error message "The system cannot find the file specified.\r\n"
It looks like it is Window 10 error. Please conform that.

Hi Roberto,
I have created my own model with Blender and exported to FBX file. I don't see any problem and I can in Visual Studio as I expected.
Even I copied inside gamelevel.fbx and it shows perfect.
But for some reason starter kit unable to handle it. Spent more than a month with no success.
Kindly your guidance is needed. The file name is (VisualCube.fbx) and can be download from https://onedrive.live.com/?id=ED95A04E7576C8D8%2112330&cid=ED95A04E7576C8D8&group=0
Best regards
Agha

I saw your sample where you have texture of a cube (A T type image). I looked you code and I was unable to find how you added your texture dynamically. I have N (may be 3) number of dices where I like to place different side of images on each face. This is all dynamic. I have created a one cube with blender without texture. It looks to me I need only one such cube and place all N (may be 3) number of dices with some mapping of a big image. You have done similar (only one disk hanoi3D). Kindly provide me some type of direction or sample. Your help will be very much appreciated.

The texture is adding in file VSD3DStarter.h in method Mesh::Load. You call method Mesh::LoadMeshFromFile, it calls Mesh::Load for each mesh in your vector. In Mesh::Load you load Texture for each SubMesh in your Mesh. Texture Name is read from mesh file. I've changed it to allow you use parameter TextureName of Mesh::LoadMeshFromFile method to set texture name.
//
// load textures
//
for (int t = 0; t < MaxTextures; t++)
{
//
// read name of texture
//
stringLen = 0;
fread(&stringLen, sizeof(stringLen), 1, fp);
if (stringLen > 0)
{
//
// read the texture name
//
// this change in code is made by Dmitry (not Roberto Sonnino)
//
// even when we don't use texture from file we have to read it name
//
std::vector<wchar_t> textureFilename(stringLen);
fread(&textureFilename[0], sizeof(wchar_t), stringLen, fp);
std::wstring sourceFile = &textureFilename[0];
if(texturePathLocation!=L"") sourceFile = texturePathLocation;
//
// get or create texture
//
ID3D11ShaderResourceView* textureResource = graphics.GetOrCreateTexture(sourceFile);
material.Textures[t] = textureResource;
but if you want to add more then one texture for mesh or change them dynamically you should do that
1 Add textures to your project and MARK THEM AS ImageContentPipeline
2 In some method changing your textures write those code:
//You can see it in the next answer

After compiling the sample I just realized Visual Studio creates DDS file. (_DirectX11StarterKit_C++_StarterKit_StarterKit.Shared_Assets_CubeUVImage.png.dds) It looks that it is UV Map file, but I am not sure how we can make connection between this file and cube. My problem: I am rolling a 6 face dice where every dice face has a randomly generated latter. I have a file where I have 26 images of alphabets which I will be using, which implies somehow I want to map to a cube dynamically. I have not a clue how this can be done. I am requesting a sample where we could map an image file to 3D object. Any help will be very much appreciated.

Hello. Although Starter Kit for Windows 8.0 works fine on my computer,I have a problem using Starter Kit for Windows 8.1. Even when I use Starter Kit for Windows 8.0, I can't make my own meshes or change meshes from Starter Kit. I add new mesh(.fbx) and some objects on it but when I try to compile it into .cmo I have an error "MeshContentTask". Here is error text:
Error 1 error MSB4018: System.Exception: VsGraphics failed, error code 4317 returned.
in Microsoft.VisualStudio.Graphics.Api.VsgTask.Execute()
in Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
in Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext() C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\VsGraphics\MeshContentTask.targets 75 5 StarterKit
Then when I open .cmo file in NotePad I only see "Cube_Node" in it, so compiled mesh file is empty. When I close Visual Studio and open it again I can run the app, but it isn't any objects on the screen(except XAML graphics). But all original meshes from StarterKit, DiceRoller and Hanoi3D are rendering fine.
But I can't use Starter Kit for Windows 8.1 at all. Without any changes, project runs but don't render any graphics except XAML. But when I debug the app and watch value of m_meshModels I see that meshes are loaded. Thanks for any help.
P.S.
I'm one hundred percent sure that I have Windows 8.1 and Visual Studio Update 4 on my computer.