Ⅰ 缺少d3dcompiler_43.dll文件怎么办
一、d3dcompiler_43.dll文件相关信息
我们来分析一下d3dcompiler_43.dll功能作用。d3dcompiler_43.dll是软件和游戏运行的重要动态链接库,如热血无赖、游戏尘埃2、荣誉勋章等游戏都要用到D3DCompiler_43.dll文件,D3DCompiler_43.dll所属公司Microsoft Corporation,中文描述Direct3D的HLSL编译器,适用平台2K/XP/2003/Vista/win7等,存放文件路径C:/Windows/System32,文件大小1.56MB。
二、造成缺少d3dcompiler_43.dll的原因
通常造成缺少d3dcompiler_43.dll的原因大多为病毒感染所致,一旦感染病毒我们电脑中的杀毒软件就会无情地把d3dcompiler_43.dll删除掉,从而导致缺少d3dcompiler_43.dll,热血无赖等游戏就无法运行,当然除了病毒原因之外也有人为误删除或安装其他软件冲突等原因。
三、解决办法
方法一:
最简单的方法就是在网上下载d3dcompiler_43.dll文件,然后手工替换相关文件就可以了,下载的d3dcompiler_43.dll文件需要复制放到工作的相关软件安装目录中。
1、Windows 95/98/Me系统,则复制到C:/Windows/System目录下。
2、Windows NT/2000系统,则复制到C:/WINNT/System32目录下。
3、Windows XP/Vista/7系统,则复制到C:/Windows/System32目录下。
然后打开“开始-运行-输入regsvr32 D3DCompiler_43.dll”,回车即可解决错误提示!
方法二:
从其他正常运行的电脑上拷贝d3dcompiler_43.dll文件,然后放到C:/WINDOWS/SYSTEM32文件夹下。另外复制到X盘:/游戏文件夹/,如果还不行可能是文件版本与游戏所支持的版本不一致。
方法三
修复的方法可能比较繁琐,如果不会操作可以下载DLL修复小助手全自动修复,省心省力。
方法四:
重新安装系统,这种办法是最不推荐的,是劳心劳力的事,一般人不干,除非你电脑本身运行速度太慢,系统存在很多问题,正好通过安装系统一并解决掉。
Ⅱ 编写任何HLSL效应问题问题,怎么解决
第一,HLSL错误类型。
HLSL错误两类两大类:
第一,加载shader文件路径出错或者文件名出错,这应该是最低级的错误.
第二,是shader的语法错误,比如无效字符,不记得返回值,值未初始化就使用等等。
一般来说,这时候调试时最好对想调试的那个shader文件进行设置为HLSL调试器,
如图 我的shader文件为 ColorShader.fx文件,对该shader文件右键,然后点击属性,属性-》配置属性-》常规-》项类型,设为HLSL编译器,
这个问题出现的原因是将.fx文件(着色器文件)导入自己新建的工程以后,VS2013会默认使用HLSL编译器对其进行编译,而.fx文件中并未定义main函数,所以会导致编译出错。
这样的话 该shader文件有语法错误的话可以从VS2015的面板上找到错误,不然的话老是得到那个shader输出错误文件里,真心麻烦。
当然调试完毕后记得,对每个shader文件右键,然后点击属性,属性-》配置属性-》常规-》项类型,设为不参与生成,不然编译Shader时会出错。
这里建议shader编写文件直接用.HLSL,就省去手动设置的功夫了,或者在FX里编写shader代码,用HLSL文件包含FX文件,然后D3DCompile编译.fx文件,参见微软的Directx11基础入门教程代码。
第二,HLSL调试方法。
hlsl可以进行断点的调试 (VS2015环境下)用Visual Studio Graphics Debugger调试Shader
Ⅲ hlsl 是什么文件
高级Shaders语言分为两种,Cg和HLSL。两种语言的语法完全一样,但Cg是跨平台的,HLSL则是微软专为DX9设计的,它们的特色是相对而言编写简单,调试方便,因此越来越多的3D游戏开始倾向于采用高级Shaders语言来编写渲染程序。和汇编语言不同,高级语言必须经过编译之后才能执行,可以简单的理解为编译器可以把高级Shaders程序针对不同的图形处理器编译出针对性的汇编程序。
而高级Shaders程序的编译有两种途径——预编译和实时编译。前者是在软件的开发环节就将Shaders程序编译成汇编程序,后者则是在进入游戏时依靠用户的显卡来实时完成。而因为程序编写难度大、开放性不够好等诸多原因,预编译多出现在如3DMark等测试软件和显卡演示Demo中,而实际游戏大都采用实时编译方式。