direct3d专题

Direct3D - 1

环境搭建: win10 vs2017 https://visualstudio.microsoft.com/zh-hans/ Community 2017 免费,下载器可能网速会比较慢,可以尝试下载别人提供的ISO,离线安装。 professional和enterprise是需要注册和激活的 出现错误: 1、安装之后出现循环创建项目的问题。 vs版本之间的冲突,完全卸载vs2015,(最好在应

Direct3D Tutorial Win32 Sample 详解 - 7

实现效果: 在cube上实现纹理映射 process: 将纹理坐标附加到顶点信息中; 使用工具将JPG等图片转化为DDS格式; 使用DDSTextureLoader module加载DDS,得到ID3D11ShaderResourceView。 填充D3D11_SAMPLER_DESC来创建ID3D11SamplerState 着色器代码如下: Texture2D txDiffuse : r

Direct3D Tutorial Win32 Sample 详解 - 6

实现效果 在tutorial 5的基础之上实现光照 不同光源及其属性 平行光 属性:方向,平行光不会随距离衰减 struct DirectionalLight{DirectionalLight() { memset(this, 0, sizeof(DirectionalLight)); }DirectX::XMFLOAT4 Ambient;DirectX::XMFLOAT4 Diffu

Direct3D Tutorial Win32 Sample 详解 - 5

实现效果: 一个cube自转,另一个cube自转同时,绕中心轴公转 要点 Transform 平移之后,坐标原点就不在物体的中心了。平移之后一定方向上的旋转就是公转。 两个立方体的transform过程如下: // 1st Cube: Rotate around the origin// 绕Y轴旋转即可g_World1 = XMMatrixRotationY( t );// 2n

Qt报错:libvlc开发的程序,出现Direct3D output全屏窗口

问题描述: 在qt中开发重播模块时,第一次在窗口正常播放,点击重播按钮后会弹出新的Direct3D output窗口播放视频 分析: 因为libvlc_media_player_set_hwnd 这个函数 设置了不存在的窗口句柄,导致vlc视频播放窗口没有嵌入 你设置的窗口,所以看上去是一个弹出的Direct3D output; 检查你传入的窗口句柄是否为有效的窗口句柄,qt 下使用 HWND

DirectX11笔记(五)--Direct3D渲染1--VERTICES AND INPUT LAYOUTS

前言顶点结构与描述创建并绑定输入布局 前言   在前几篇文章中我们主要学习了概念上的渲染管线, 那时我们更加注重说明渲染管线的含义和作用, 现在我们会转换方向, 开始学习使用API来配置渲染管线, 定义shader, 并把几何体提交到渲染管线渲染.   我们将重点学习以下几点: 定义, 存储, 渲染图形数据的接口.编写基础的顶点shader和像素shader.学习如何

DirectX11笔记(三)--Direct3D初始化代码

这里先提出InitDevice方法, 讲解请参考前一篇文章: DirectX11笔记(三)–Direct3D初始化2 HRESULT InitDevice( ){// 窗口信息RECT rc;GetClientRect( g_hWnd, &rc );UINT width = rc.right - rc.left;UINT height = rc.bottom - rc.top;// 创建交换链

DirectX11笔记(三)--Direct3D初始化2

一 总览 初始化Direct3D的步骤二 创建设备 ID3D11Device 和上下文 ID3D11DeviceContext 三 检查所支持的4倍MSAA质量等级四 交换链 描述交换链创建交换链 五 同时创建设备 上下文和交换链六 创建Render Target视图七 创建深度模板缓冲和视图 创建深度模板缓冲创建深度模板视图 八 绑定视图到渲染管线九 设置视口 Viewport

DirectX11笔记(二)--Direct3D初始化1之基本概念

纹理 Texture 交换链 Swap Chain 深度缓冲 Depth Buffer 纹理资源视图 Texture Resourse View 多重采样 Multisampling 特征等级 Feature Level 纹理( Texture )   2D纹理是一个数据元素的矩阵,2D纹理的一种使用场景是存储一张2D图片每一个像素的颜色,但是他一般都不只有这一种用途。

【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍

上一节里我们介绍了在迈入DirectX 11的学习旅程之后第一个demo创建的全过程。但由于知识衔接的需要,我们的第一个demo里面涉及到的大部分知识都是关于Win32的。而为了使之前讲解的Blank Win32 Window Demo蜕变成我们期望的Direct3D的模样,我们将在这节的笔记里面对Direct3D的入门级的基础知识做一个详细的介绍,以便在下节笔记里轻车熟路地写出属于我们的第一个完

03. Initializing Direct3D 11

全局变量IDXGISwapChain* SwapChain; ID3D11Device* d3d11Device; ID3D11DeviceContext* d3d11DevCon; ID3D11RenderTargetView* renderTargetView; float red = 0.0f; float green = 0.0f; float blue = 0.0f; int colo

web3D三维引擎(Direct3D、OpenGL、UE、U3D、threejs)基础扫盲

Hi,我是贝格前端工场的老司机,本文介绍文web3D的几个引擎,做个基础扫盲,如果还不能解决问题,可以私信我,搞私人订制呦。 三维引擎是指用于创建和渲染三维图形的软件框架。它们通常提供了图形处理、物理模拟、光照、碰撞检测等功能,帮助开发者构建逼真的三维场景和交互体验。在这里,我将为您详细介绍一些常见的三维引擎,包括Direct3D、OpenGL、Unreal Engine、Unity3D和

Direct3D学习手记十一:网格二【从.x文件中加载网格】

上篇我们介绍了自己创建网格的方法,此次我们介绍从.x文件中加载3D模型的方法 .x文件: .x文件是一种存储3D模型数据的一种文本文件,其存储格式有两种:文本方式和二进制方式, 其中文本方式易于查看,.x文件有其特定的格式 .x文件中存储了顶点数据,材质信息和纹理贴图信息等待,可以通过特定的方式读取其中的内容。 从.x文件中加载网格: HRESULT D3DXLoadMeshF

Direct3D学习笔记(五) 初级光照技术

We've Got Camera and Action; What About Lights?现在我们已经让我们的三角形旋转起来的,但是我们还想做的更好一些,怎么办呢?我们可以给他加上灯光,灯光这个概念我们已经在前面简短的提过了,在我们那个黑色的三角形中我们为了看见他本来的颜色已经把灯光关闭了,现在我们首先要做的事情就是把灯开开,先修改下面的语句,设置为truedevice.RenderStat

Direct3D学习笔记(四) 制作一个真正的三维空间

making our triangle three dimensional回头看看我们以前的程序,它看起来并不那么三维。我们只是在windows窗口中画了一个三角形而已,而这个用GDI是很容易做到的,现在我么那要做的就是怎么样画出一个物体来让他看起来比较三维化,而这些,很容易在我们已有的程序中进行改进而得到。如果你还记得,在早些时候当我们创造第一三角形的时候,我们使用了一种叫做转换匹配(tran

Direct3D:对定向光源的代码实现 + 讨论分析

【完整代码见文章结尾】 一、定向光源代码实现 1.1 顶点法线   使用顶点法线,同一个面的多个顶点的法线就不一定相同,这样通过光栅化处理后,就能在多面体的表面获得一种平滑过渡的光照效果。 // 使用顶点法线struct Vertex{Vertex(float x, float y, float z,float nx, float ny, float nz){_x = x; _

Direct3D 10系统(五) 全文完~~~

Direct3D 10系统(五) 作者:David Blythe 本文版权归原作者所有,仅供个人学习使用,请勿转载,勿用于任何商业用途。 由于本人水平有限,难免出错,不清楚的地方请大家以原著为准。欢迎大家和我多多交流。 翻译:clayman Blog:http://blog.csdn.net/soilwork clayman_joe@yahoo.com.cn

Direct3D 10系统(四)

Direct3D 10系统(四)   作者:David Blythe 本文版权归原作者所有,仅供个人学习使用,请勿转载,勿用于任何商业用途。 由于本人水平有限,难免出错,不清楚的地方请大家以原著为准。欢迎大家和我多多交流。 翻译:clayman Blog:http://blog.csdn.net/soilwork clayman_joe@yahoo.com.

C++使用MINGW64集成Direct3D开发环境

霸王•吕布 / MinCPlusCompiler · GitCodewindows mingw64 c++简易开发编译工具,集成Direct3D FMOD Cmake编译工具https://gitcode.net/qq_35829452/mincpluscompiler 一.MINGW64编译器 gcc.exe C语言编译器g++.exe C++语言编译器mingw32-make.exe -j

DirectX11 Direct3D初始化

Direct3D初始化 1. Direct3D初始化步骤 下面将讲解如何初始化Direct3D。我们将Direct3D的初始化过程分为如下几个步骤: 1.使用D3D11CreateDevice方法创建ID3D11Device和ID3D11DeviceContext。 2.使用ID3D11Device::CheckMultisampleQualityLevels方法检测设备支持的4X多重采样

Direct3D融合技术

一、概要 融合(blending)技术能使我们将当前要进行光栅化的像素的颜色与先前已光栅化并处于同一位置的像素进行合成。即将正在处理的图元颜色与存储在后台缓存中的像素颜色值进行合成(混合)。利用该技术,我们可以获得各种各样的效果,尤其是透明效果。 二、融合方程 需要明确的一个要点是,当前要进行光栅化的三角形单元是与已写入后台缓存的像素进行融合。所以

DirectX12_Windows_GameDevelop_3:Direct3D的初始化

引言 查看龙书时发现,第四章介绍预备知识的代码不太利于学习。因为它不像是LearnOpenGL那样从头开始一步一步教你敲代码,导致你没有一种整体感。如果你把它当作某一块的代码进行学习,你跟着敲会发现,总有几个变量是没有定义的。这是因为书上的代码都是把框架里的某一部分粘过来,缺少上文中对变量的定义,也根本不利于学习。学习图形学API就是为了使用GPU进行图形运算,说白了我们学习的DirectX就是

Direct3D基础--初始化

本文为 Introduction to 3D Game Programming with DirectX 11 读书笔记 本篇博客介绍Direct3D的基础,按照书上章节顺序介绍 Direct3D初始化 图形学的基本概念与DirectX的类型 COM纹理和数据资源格式The Swap Chain and Page FlippingDepth BufferingTexture

direct3d Memory Pools(内存池)

direct3d Memory Pools(内存池) 表面和其它一些D3D资源被放在多种内存池中。内存池的种类由D3DPOOL枚举类型的一个成员来指定。它可以为下列几种: 1.D3DPOOL_DEFAULT——表示D3D将根据资源的类型和用途把它们放在最合适的地方。这有可能是显存、AGP内存或者系统内存中。值得注意的是,这种内存池中的资源必须要在IDirect3DDevice9::Reset

Direct3D 9 入门例子程序 圆锥体

介绍 Directx3D 9 什么是DirectX,很好说了,Win32 C++ API,主要是多媒体编程方面的,优点体现在高性能了,现在我知道的版本最高是D3D11,但是我是学习入门的,从D3D9开始,不算很是落伍。 Directx3D 元素 D3D元素很多,这里说的元素是程序中用到的元素。 1〉D3D 编程的起点,可以理解成出所用的D3D SDK程序集。 2〉D3D p

Direct3D网格(一)

创建网格 我们可以用D3DXCreateMeshFVF函数创建一个"空"网格对象 ,空网格对象是指我们指定了网格的面片总数和顶点总数,然后由该函数为顶点缓存、索引缓存和属性缓存分配大小合适的内存,之后即可手工填入网格数据。 HRESULT WINAPI D3DXCreateMeshFVF(DWORD NumFaces,DWORD NumVertices,DWORD Options,DWORD