【杂记】Directx11 Font
DX11写字体用三种方法,GDI,D2D,Directx write
这里介绍D2D 因为DX11是不能使用D2D的(这里我也不知道为什么)
但我们可以通过一个sharing surface 的概念,先用DX10.1来使用D2D,把渲染目标分享,再用DX11来渲染
Step1:先通过IDXGIFactory1 接口来设置一个容器
创建10.1设备和11的设备
创建贴图,必须是BGRA格式
创建D3D11 KeyedMutex(为了10.1和11设备都能使用贴图,相当于一个互斥锁)
这个锁有两个功能,一个是获得,一个是释放(保证两个设备知道彼此什么时候在用贴图)
因为10.1设备不能直接创建一个贴图的互斥锁,所以我们用11来创建,然后创建一个shared resource Object(有些专业概念我也不知道怎么翻译,就直接拿来用吧),这个object是存储一个指向贴图的指针
创建一个IDXGISurface1 object指向刚才的shared resource Object。(这个surface是用来获得互斥锁的)
初始化D2D
先设置D2D的属性,然后创建D2D Render Target,就是上面的surface
通过CreateDxgiSurfaceRenderTarget() 得到D2D的render target object(这个在下面会用的到)
用上一行得到的Object创建一个画刷(这样才能在屏幕上写字)( CreateSolidColorBrush() method of the ID2D1RenderTarget interface)
初始化DirectxWrite(用来渲染文字,感觉好多功能都是类似的,可能还是我理解不到位)
要创建DW,和其他一样要先创建Blahblah一堆
设置DW的文本格式和对准(具体的函数这里就不列出来了,要学习的朋友们去我贴出来的网页看吧)
Step2:
创建shader resource(和上面提到的不是一个东西),这个是用来做纹理贴图的
(可以把D2D当成是一个画家工具包,把DW当成是一个画家)
原文地址
【杂记】Directx11 Font相关推荐
- DirectX11 With Windows SDK--08 Direct2D与Direct3D互操作性以及利用DWrite显示文字
前言 注意:从这一章起到后面的所有项目无一例外都利用了Direct2D与Direct3D互操作性,但系统要求为Win10, Win8.x 或 Win7 SP1且安装了KB2670838补丁以支持Dir ...
- DirectX11教程
最近在看DirectX11的教程,我对dx的接触也只是皮毛,边看边学吧. 看看网上只有w18767104183翻译了前三章,想着能不能继续他翻译一点呢,希望自己能一起成长. 点击图片是官方网站,译文点 ...
- [原创]商城系统下单库存管控系列杂记(二)(并发安全和性能部分延伸)
商城系统下单库存管控系列杂记(二)(并发安全和性能部分延伸) 前言 参与过几个中小型商城系统的开发,随着时间的增长,以及对系统的深入研究和测试,发现确实有很多值得推敲和商榷的地方(总有 ...
- 火狐自定义字体失败 downloadable font: no supported format found
Bootstrap+AdminLTE搭起来的服务,突然字体图标都访问不了了,报错如下: 解决办法1:FontAwesome官网找解决办法,不引用本地的css,直接引用官网建议的地址 <scrip ...
- Flutter中集成Font Awesome
1.添加引用 在 pubspec.yaml文件中,加入 font awesome的引用 1 dependencies: 2 flutter: 3 sdk: flutter 4 5 # The foll ...
- Directx11教程(61) tessellation学习(3)
现在我们看看在不同tess factor的情况下,三角形是如何细分的?(这儿三条边和内部tess factor值是一样的,而且partitioning("integer")) 下面 ...
- Directx11 教程(2) 基本的windows应用程序框架(2)
Directx11 教程(2) 基本的windows应用程序框架(2) 原文:Directx11 教程(2) 基本的windows应用程序框架(2) 在本教程中,我们把前面一个教程的代码,进行封装.把 ...
- CSS文字文本样式(font字体、css外观属性)
1. font字体 1.1. font-size:大小 作用:font-size属性用于设置字号. p { font-size:20px; } 单位: 可以使用相对长度单位,也可以使用绝对长度单位. ...
- Webpack系列-第一篇基础杂记
系列文章 Webpack系列-第一篇基础杂记 Webpack系列-第二篇插件机制杂记 Webpack系列-第三篇流程杂记 前言 公司的前端项目基本都是用Webpack来做工程化的,而Webpack虽然 ...
最新文章
- mysql5.5数据库操作_命令行下mysql数据库基本操作
- 十一、Redis五大数据类型之三Set
- 汉诺塔游戏的python实现——递归函数
- 基于ARM A53开发板,使用按键中断及中断底半部实现《led灯状态取反》的驱动
- (4)pyspark---dataframe清理
- 深入解读:获得 2021 Forrester 全球云数仓卓越表现者的阿里云数据仓库
- Dubbo RESTful风格
- 最短路算法(3种算法)
- 初识java——Java程序的历史、开发和运行
- php阿拉伯语字符串,使用PHP将RTL(阿拉伯语)文本写入图像
- 【异常】java.lang.NoClassDefFoundError: com/lowagie/text/pdf/PdfContentByte
- app inventor制作手机蓝牙遥控器
- 如何通俗易懂的跟别人讲一下“人工智能”的发展历史?
- 公司名称注册,公司名称查询,企业名称注册事项
- 7、purge_haplogs 基因组去冗余
- 图灵机器人:到基层去,做人工智能的开放平台
- 智能交通组合拳--飞桨实现车辆类别/车牌/车速检测、跨境头跟踪、车流密度检测、逆行检测
- Oracle 数据统计计算
- 《Frustum PointNets for 3D Object Detection from RGB-D Data》中文翻译
- 【评测】小鼠肝细胞系(GHA1、AML12、BNL CL.2)培养实验操作步骤