精华内容
下载资源
问答
  • DirectX11安装程序

    2018-05-12 21:58:39
    DX11的安装程序。DirectX,(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口。...被广泛使用于Microsoft Windows、Microsoft XBOX、Microsoft XBOX 360和...最新版本为DirectX 12,创建在最新的Windows10。
  • d912pxy-“激战2的DirectX9到DirectX12 API代理” d912pxy是一种使使用DirectX 9的游戏改用DirectX 12的方式,而无需更改任何游戏代码。 这是专为《激战2》而设计的。您可以尝试将其与其他游戏一起使用。 它可能会...
  • FBX格式是现在最主流的用于游戏的3D模型格式,要使用DirectX12绘制模型,当然需要先用这个库来解析模型数据。它的版权协议如下: 不是开源的并且是非商用的,假设你完成了一个引擎到时候还需要联系他们讨论版权的...

    配置FBX_SDK

    1.介绍

    FBX格式是现在最主流的用于游戏的3D模型格式,要使用DirectX12绘制模型,当然需要先用这个库来解析模型数据。它的版权协议如下:

    不是开源的并且是非商用的,假设你完成了一个引擎到时候还需要联系他们讨论版权的问题,不过前提是你想盈利。出于研究技术的目的,所以不用考虑这么多,大不了到时候再换一个格式即可。

    先在官网下载对应的安装文件:

    https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2020-2

    我现在用上了vs2019,所以下载的是2020.2 vs2019的版本。

    2.复制文件

    安装之后就有include和lib文件了,同时也要拷贝上License文件到我们的项目里。如下:

     

    所以附加包含目录如下:

    $(SolutionDir)\FBX_SDK\include

    库目录如下:

    $(SolutionDir)FBX_SDK\lib\vs2019\$(PlatformName)\$(Configuration)

    由于$(PlatformName)返回的平台名是Win32,而不是x86,所以需要改一下文件夹的名字,如下:

    最后附加依赖项添加上:

    libfbxsdk.lib

    官网的教程说还需要加上预处理器定义FBXSDK_SHARED,因为我们是以动态链接的方式使用的。所以dll文件还需要拷贝一下,是在exe目录:

    3.准备一个茶壶

    用3ds max创建一个茶壶并导出fbx格式的文件,当然也可以用网上找别人的fbx文件,不过我想从最简单的一步一步做起这样不容易出错,我用的3ds max 2021。

    导出fbx拷贝到对应的资源目录(这里还包含上一章的shader文件,和生成的log文件):

    4.示例代码

    我先快速的测试官方给出的示例代码,这样更方便理解并测试有没有配置成功:

    DNDFBX.h

    /**
    * @file		DNDFBX.h
    * @brief	用于封装FBX SDK解析FBX文件
    *
    *
    * @version	1.0
    * @author	lveyou
    * @date		21_03_27
    * 修订说明:	1
    */
    
    #pragma once
    
    #include <fbxsdk.h>
    
    #include "DNDDebug.h"
    
    namespace DND
    {
    
    
    	/**
    	 * Print the required number of tabs.
    	 */
    	void PrintTabs();
    
    	/**
    	* Return a string-based representation based on the attribute type.
    	*/
    	FbxString GetAttributeTypeName(FbxNodeAttribute::EType type);
    
    	/**
    	 * Print an attribute.
    	 */
    	void PrintAttribute(FbxNodeAttribute* pAttribute);
    
    	/**
    	* Print a node, its attributes, and all its children recursively.
    	*/
    	void PrintNode(FbxNode* pNode);
    
    
    	class DNDFBX
    	{
    	public:
    		void _init();
    	private:
    		FbxManager* _lSdkManager;
    
    		
    	};
    
    	extern DNDFBX g_fbx;
    }

    DNDFBX.cpp

    #include "DNDFBX.h"
    #include "DNDString.h"
    
    namespace DND
    {
    	DNDFBX g_fbx;
    
    	/* Tab character ("\t") counter */
    	int numTabs = 0;
    
    	void PrintTabs()
    	{
    		for (int i = 0; i < numTabs; i++)
    		{
    			g_debug.Write(L"\t");
    		}
    	}
    
    	FbxString GetAttributeTypeName(FbxNodeAttribute::EType type)
    	{
    		switch (type) {
    		case FbxNodeAttribute::eUnknown: return "unidentified";
    		case FbxNodeAttribute::eNull: return "null";
    		case FbxNodeAttribute::eMarker: return "marker";
    		case FbxNodeAttribute::eSkeleton: return "skeleton";
    		case FbxNodeAttribute::eMesh: return "mesh";
    		case FbxNodeAttribute::eNurbs: return "nurbs";
    		case FbxNodeAttribute::ePatch: return "patch";
    		case FbxNodeAttribute::eCamera: return "camera";
    		case FbxNodeAttribute::eCameraStereo: return "stereo";
    		case FbxNodeAttribute::eCameraSwitcher: return "camera switcher";
    		case FbxNodeAttribute::eLight: return "light";
    		case FbxNodeAttribute::eOpticalReference: return "optical reference";
    		case FbxNodeAttribute::eOpticalMarker: return "marker";
    		case FbxNodeAttribute::eNurbsCurve: return "nurbs curve";
    		case FbxNodeAttribute::eTrimNurbsSurface: return "trim nurbs surface";
    		case FbxNodeAttribute::eBoundary: return "boundary";
    		case FbxNodeAttribute::eNurbsSurface: return "nurbs surface";
    		case FbxNodeAttribute::eShape: return "shape";
    		case FbxNodeAttribute::eLODGroup: return "lodgroup";
    		case FbxNodeAttribute::eSubDiv: return "subdiv";
    		default: return "unknown";
    		}
    	}
    
    	void PrintAttribute(FbxNodeAttribute* pAttribute)
    	{
    		if (!pAttribute) return;
    
    		FbxString typeName = GetAttributeTypeName(pAttribute->GetAttributeType());
    		FbxString attrName = pAttribute->GetName();
    		PrintTabs();
    		// Note: to retrieve the character array of a FbxString, use its Buffer() method.
    		//printf(, );
    		//
    		g_debug.Line(String::Format(L"<attribute type='%s' name='%s'/>", String::Mbtowc(typeName.Buffer()).c_str(), String::Mbtowc(attrName.Buffer()).c_str()));
    	}
    
    	void PrintNode(FbxNode* pNode)
    	{
    		PrintTabs();
    		const char* nodeName = pNode->GetName();
    		FbxDouble3 translation = pNode->LclTranslation.Get();
    		FbxDouble3 rotation = pNode->LclRotation.Get();
    		FbxDouble3 scaling = pNode->LclScaling.Get();
    
    		// Print the contents of the node.
    		g_debug.Line(String::Format(L"<node name='%s' translation='(%f, %f, %f)' rotation='(%f, %f, %f)' scaling='(%f, %f, %f)'>",
    			String::Mbtowc(nodeName).c_str(),
    			translation[0], translation[1], translation[2],
    			rotation[0], rotation[1], rotation[2],
    			scaling[0], scaling[1], scaling[2]
    		));
    		numTabs++;
    
    		// Print the node's attributes.
    		for (int i = 0; i < pNode->GetNodeAttributeCount(); i++)
    			PrintAttribute(pNode->GetNodeAttributeByIndex(i));
    
    		// Recursively print the children.
    		for (int j = 0; j < pNode->GetChildCount(); j++)
    			PrintNode(pNode->GetChild(j));
    
    		numTabs--;
    		PrintTabs();
    		g_debug.Line(L"</node>");
    	}
    
    	void DNDFBX::_init()
    	{
    		// Change the following filename to a suitable filename value.
    		const char* lFilename = "teapot.fbx";
    
    		// Initialize the SDK manager. This object handles all our memory management.
    		_lSdkManager = FbxManager::Create();
    
    		// Create the IO settings object.
    		FbxIOSettings* ios = FbxIOSettings::Create(_lSdkManager, IOSROOT);
    		_lSdkManager->SetIOSettings(ios);
    
    		// Create an importer using the SDK manager.
    		FbxImporter* lImporter = FbxImporter::Create(_lSdkManager, "");
    
    		// Use the first argument as the filename for the importer.
    		if (!lImporter->Initialize(lFilename, -1, _lSdkManager->GetIOSettings())) {
    			g_debug.Line(L"Call to FbxImporter::Initialize() failed.");
    			g_debug.Line(String::Mbtowc(
    				(string("Error returned: ") + string(lImporter->GetStatus().GetErrorString())).c_str()
    			, false));
    
    			auto v = lImporter->GetStatus().GetCode();
    
    
    			exit(-1);
    		}
    
    		// Create a new scene so that it can be populated by the imported file.
    		FbxScene* lScene = FbxScene::Create(_lSdkManager, "myScene");
    
    		// Import the contents of the file into the scene.
    		lImporter->Import(lScene);
    
    		// The file is imported; so get rid of the importer.
    		lImporter->Destroy();
    
    		// Print the nodes of the scene and their attributes recursively.
    		// Note that we are not printing the root node because it should
    		// not contain any attributes.
    		FbxNode* lRootNode = lScene->GetRootNode();
    		if (lRootNode) {
    			for (int i = 0; i < lRootNode->GetChildCount(); i++)
    				PrintNode(lRootNode->GetChild(i));
    		}
    		// Destroy the SDK manager and all the other objects it was handling.
    		_lSdkManager->Destroy();
    		return;
    	}
    
    }
    
    

    前面几个函数均是读取数据并打印,而_init函数是最基础的使用方式,其中lImporter->Initialize总是失败,我一直以为是我导出的fbx文件设置不对,实际上只是文件放错位置了,没有读取到文件。但是它错误提示竟然是Unexpected file type,很坑人啊。最后成功的打印出了一些数据。

    下一步我的目标就是用DirectX12绘制出这个茶壶!

     

     

     

    展开全文
  • DirectX SDK (June 2010)安装错误S1023,解决方法 导致这个错误的原因是在安装DirectX SDK (June 2010)之前。我就安装了VS2010 。 所以也就安装了: Microsoft Visual C++ 2010 x86
    转自:http://hi.baidu.com/rootcat/item/6730f15f85e2c1958c12ed81

    DirectX SDK (June 2010)安装错误S1023,解决方法

    导致这个错误的原因是在安装DirectX SDK (June 2010)之前。我就安装了VS2010 。

    所以也就安装了:

    • Microsoft Visual C++ 2010 x86 Redistributable

    • Microsoft Visual C++ 2010 x64 Redistributable

    而DirectX SDK (June 2010)会在安装的过程中再次安装。囧

    所以解决的办法就是在安装DirectX SDK (June 2010)之前先将以上两个程序卸载。

    在运行中执行以下代码即可:

    MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
    
    

    MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}

     

    参考资料:

    "S1023" error when you install the DirectX SDK (June 2010)

    http://support.microsoft.com/kb/2728613

    展开全文
  • 3DS MAX 导出 directx .X 文件的插件。3DS Max2011,12,13,2014插件(32位与64位),把模型导出成*.x文件,解压后把对应文件拷贝到3DS max安装目录的stdplugs文件夹即可。
  • DirectX随意卸

    2008-03-23 23:35:59
    修正了使用随意卸来安装微软05年12月份发布的DX9.0c时无法安装D3DX9_2*.dll这几个文件的问题,现在很多游戏都需要这些文件。 4.修正了装有.Net框架的系统中,使用随意卸来安装微软05年02月份或以后发布的DX9.0c时...
  • DirectX Jun2010 redist最新完整安装包

    千次下载 热门讨论 2011-01-29 14:11:03
    本安装包的版本是DirectX Run-Time Jun 2010最新版。采用7-zip压缩,压缩前大小是96MB,压缩后只有12MB。经测试可以正常安装。 本程序为静默安装安装时没有安装界面,只有拷贝文件进度条。安装完成后程序会自动...
  • 答:本软件集成了最新版的DirectX Redist(Jun2010),其中包含DirectX 9.0、DirectX 10.0、DirectX 10.1以及DirectX 11的全部文件,部分DirectX12的文件,程序会根据您的系统自动修复需要修复的文件,无需用户进行...
  • 基于Visual C#的DirectX开发实例教程

    千次下载 热门讨论 2010-03-21 11:33:35
    安装 DirectX SDK 时可以选择安装例子和教程, 微软为开发者提供了许多较为实用的例子供大家学习。本文结合计算机三维图 形学和 DirectX 的开发帮助,并参考国内外关于 DirectX 开发的书籍和网站资 料等,主要介绍...
  • DirectX标头此存储库托管官方Direct3D 12标头。 这些标头是根据MIT许可提供的,而不是传统的DirectX标头。此存储库托管正式的Direct3D 12标头。 这些标头是根据MIT许可而不是传统的Windows SDK许可提供的。 此外,此...
  • VINYSON v807手柄驱动是专为VINYSON v807型号手柄打造的驱动程序。该驱动智能针对v807手柄使用,用于解决手柄...安装说明VINYSON V807 PC手柄驱动,在安装驱动前需要先安装DirectX 7.0以上DirectX12安装地,欢迎下载体验
  • 现在是Win10 DirectX12的时代,找以前的资料反而有难度。 这个 571MB的包,安装后有 1.23GB,放在D:\MSDXSDK2010下找路径快点 很惊喜的里面有 D3D9,D3D10,D3D11三个版本的内容 还有很详细的一百多个例子 ...

    https://www.microsoft.com/en-us/download/details.aspx?id=6812

    半个月前实测下载速度很快。

    现在是Win10 DirectX12的时代,找以前的资料反而有难度。

    这个 571MB 的包,安装后有 1.23GB,放在D:\MSDXSDK2010下找路径快点

    很惊喜的里面有 D3D9,D3D10,D3D11 三个版本的内容

    还有很详细的一百多个例子

     

    展开全文
  • 精通DirectX.3D图形与动画程序设计.pdf

    热门讨论 2013-02-17 16:40:18
    1.3 directx 9.0的安装与配置  1.3.1 directx 9.0的安装 1.3.2 选择调试或发布库 1.3.3 在visual studio.net ide中配置directx 1.3.4 浏览directx sdk示例程序  1.4 directx功能组件 1.5 directx的几种开发方式 ...
  • 第1篇 预备知识 第1章 做好学习本书的准备工作 1.1 安装DirectX SDK 1.2 选择调试或发布库 1.3 设置编译器 1.4 使用本书的功能函数 1.5 更进一步 第2篇 动画基础 第2章 计时动画和运动 2.1 运用计时运动 ...
  • 安装dx sdk 2010的时候,在安装vc++运行库的时候出现错误...原文地址:http://blogs.msdn.com/b/chuckw/archive/2011/12/09/known-issue-directx-sdk-june-2010-setup-and-the-s1023-error.aspx Over the past

    安装dx sdk 2010的时候,在安装vc++运行库的时候出现错误,s1023,微软官方给出的解决办法。

    原文地址:http://blogs.msdn.com/b/chuckw/archive/2011/12/09/known-issue-directx-sdk-june-2010-setup-and-the-s1023-error.aspx


    Over the past few month we've been getting reports of problems with the DirectX SDK (June 2010) setup failing for customers displaying an installation error when it gets to point of installing the "redistributable packages". This particular problem has been traced to an issue with the Visual C++ 2010 Redistributable Package version 10.0.30319 (RTM). When the 10.0.40219 (Service Pack 1) version is already present on the system, the 10.0.30319 (RTM) version returns a failure instead of a success as was expected.

    The work-around for this issue is straight-forward:

    (1) Remove the Visual C++ 2010 Redistributable Package version 10.0.40219 (Service Pack 1) from the system (both x86 and x64 if applicable). This can be easily done via a command-line with administrator rights:

    MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
    MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}

    (2) Install the DirectX SDK (June 2010)

    (3) Reinstall the Visual C++ 2010 Redistributable Package version 10.0.40219 (Service Pack 1). On an x64 system, you should install both the x86 and x64 versions of the C++ REDIST. Be sure to install the most current version available, which at this point is the KB 2565063 with a security fix.

    This issue is also covered by KB 2717426

    Note: This issue does not affect earlier version of the DirectX SDK which deploy the VS 2005 / VS 2008 CRT REDIST and do not deploy the VS 2010 CRT REDIST. This issue does not affect the DirectX End-User Runtime web or stand-alone installer as those packages do not deploy any version of the VC++ CRT.

    Windows SDK: The Windows SDK 7.1 has exactly the same issue as noted in KB 2717426.

    Setup writers: If you are creating a deployment for your application and you are using VS 2010, it is recommended you use the Service Pack 1 version and not the RTM version to avoid this issue. You should also consider picking up the updated version of the DirectX End-User Runtime Package if you are deploying DirectX SDK components with your application, and of course fully understand the issues detailed in this earlier blog post.

    And before asking when the next release of the DirectX SDK is coming, please take a look at at the MSDN page "Where is the DirectX SDK?".

    FCIV: This of course assumes you actually have an uncorrupted copy of the DirectX SDK setup package. The best way to validate this it to run fciv -sha1 DXSDK_Jun10.exe and verify you get8fe98c00fde0f524760bb9021f438bd7d9304a69 dxsdk_jun10.exe

    展开全文
  • 1.3 DirectX9.0的安装与配置 1.3.1 DirectX9.0的安装 1.3.2 选择调试或发布库 1.3.3 在VisualStudio.NETIDE中配置DirectX 1.3.4 浏览DirectXSDK示例程序 1.4 DirectX功能组件 1.5 DirectX的几种开发方式 1.6 小结 ...
  • 1.3 DirectX9.0的安装与配置 1.3.1 DirectX9.0的安装 1.3.2 选择调试或发布库 1.3.3 在VisualStudio.NETIDE中配置DirectX 1.3.4 浏览DirectXSDK示例程序 1.4 DirectX功能组件 1.5 DirectX的几种开发方式 1.6 小结 ...
  • 1.3 DirectX9.0的安装与配置 1.3.1 DirectX9.0的安装 1.3.2 选择调试或发布库 1.3.3 在VisualStudio.NETIDE中配置DirectX 1.3.4 浏览DirectXSDK示例程序 1.4 DirectX功能组件 1.5 DirectX的几种开发方式 1.6 小结 ...
  • directx

    2011-11-04 17:26:00
    首先,下载了directx9 的sdk并安装了。 其次,参详了Directshow事务精选这本书,使用了graphedit,并且编译了directx\samples\c++\directshow\baseclasses中的baseclass.里面编译的时候出现了两个问题,解决方法: ...
  • 一、安装DX 的SDK。 在VS2008的工具->选项: 指定包含文件: 新建一行。选择到SDK的Include目录。 二、添加lib目录 就可以了。我测试通过。 转载于:...
  • win10+黑苹果 单硬盘 双系统 超简单安装 一看就会

    万次阅读 多人点赞 2019-11-25 23:52:55
    注意:此教程全机型通用 ,只需要替换相关的efi文件即可。安装黑苹果的教程已经很多了,本人学的皮毛只适合跟我配置差不多的笔记本电脑,比如神州系列...操作系统 Windows 10 专业版 64位 ( DirectX 12 ) 处理器 英...
  • JustDX12-源码

    2021-03-16 13:33:37
    JustDX12是C ++中用于各种DirectX12渲染技术的测试区域,其主要重点是抽象出低层次的DirectX编程所需的簿记(内存管理,描述符绑定等),但保持所需的最低级别访问权限尝试使用高级渲染API抽象不一定能获得的技术或...
  • 原文链接:http://www.cnblogs.com/chenfanyu/archive/2012/12/31/2841160.html 目录: 1 安装 2 配置 2.1 include-lib包含目录设置 2.2 sdk设置 2.3 vc 安装目录结构分析: 2.4 directx 2010整合 2.4.1 direc...
  • 机器配置如下: 电脑型号 技嘉 B360M POWER 台式电脑 操作系统 Windows 10 64位 ( DirectX 12 ) 处理器 英特尔 Core i7-8700 @ 3.20GHz 六核 主板 技嘉 B360M POWER ( 英特尔 PCI 标准主机 CPU 桥 -...
  • 英雄联盟出现game_error_directx的解决办法

    万次阅读 热门讨论 2019-12-12 22:36:26
    最后更新于2019年1212日 近来有玩家反馈他们的英雄联盟出现game_error_directx错误,进不去游戏,如下图。 经过我跟这些玩家的远程分析,发现问题主要有两点: 1、显卡驱动没装好。关于这点我就不多说了,...
  • 网上一直对VISTA的配置要求存在争议。 官方说:Vista的最低硬件需求如下: ...主频至少为800MHz的处理器、512MB内存、以及支持DirectX 9的图形显卡。...12:00安装菜单第一项,开始拷贝文件 1小时,...
  • 3d-coat_4.0_b12_x86_x64 完美破解补丁

    热门讨论 2013-02-24 23:26:55
    安装好3dCoat后,将对应的3D-CoatDXC.exe和3D-CoatGLC.exe替换,大功告成! 3D-CoatDXC.exe 为Directx显示方式的CUDA版 3D-CoatGLC.exe 为OpenGL显示方式的CUDA版 simple版本没有破解。我觉得没什么用处。如果有...

空空如也

空空如也

1 2 3 4 5 6
收藏数 119
精华内容 47
关键字:

directx12安装