0%

渲染API对于线渲染的支持

wireframe line mode line width
OpenGL glPolygonMode(GL_FRONT_AND_BACK, GL_LINE) glDrawArrays: GL_LINES/GL_LINE_STRIP/GL_LINE_LOOP glLineWidth
Vulkan VkPipelineRasterizationStateCreateInfo/VK_POLYGON_MODE_LINE VkPipelineInputAssemblyStateCreateInfo: VK_PRIMITIVE_TOPOLOGY_LINE_LIST/VK_PRIMITIVE_TOPOLOGY_LINE_STRIP vkCmdSetLineWidth, VkPipelineRasterizationStateCreateInfo::lineWidth
DirectX 11 D3D11_RASTERIZER_DESC/D3D11_FILL_WIREFRAME IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_LINELIST)
DirectX 12 D3D12_GRAPHICS_PIPELINE_STATE_DESC/D3D12_FILL_WIREFRAME D3D12_GRAPHICS_PIPELINE_STATE_DESC/D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE, IASetPrimitiveTopology(D3D12_PRIMITIVE_TOPOLOGY_LINELIST)

glLineWidth的文档中说只保证宽度1的设置,其他宽度依赖硬件实现。

阅读全文 »

人脸关键点

使用Google的人脸检测工具MediaPipe来做人脸关键点的检测,可以按照Face Mesh Detection with Python and OpenCV的操作安装MediaPipe并可视化关键点。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import cv2
import mediapipe as mp

#Face Mesh

mp_face_mesh = mp.solutions.face_mesh
face_mesh = mp_face_mesh.FaceMesh()

#Image

image = cv2.imread("/home/python/OpenCV/faceMash/image1.jpg")
height, width, _ = image.shape
rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

#Facial landmarks
result = face_mesh.process(image)


for facial_landmarks in result.multi_face_landmarks:
for i in range(0, 468):

pt1 = facial_landmarks.landmark[i]
x = int(pt1.x * width)
y = int(pt1.y * height)

cv2.circle(image, (x,y), 2, (100,100,0), -1)
#cv2.putText(image, str(i), (x,y), 0,1,(0,0,0))



cv2.imshow("Face Mesh detection", image)
cv2.waitKey(0)
阅读全文 »

看到很多人的主页做的好看丝滑又专业,不免得想拥有一个自己的。最开始使用Github Pages的默认静态网页生成器jekyll搭建了一个,但是奈何觉得有些复杂和浮夸。搜索一番,发现HexoNexT Theme使用广泛,而且找到了我想要的比较简洁的风格示例,比如木鸟杂记IIssNan’s NotesNightTeamIn Absentia,在阅读官方文档和热情网友分享的文章(比如如何在 GitHub 上写博客?)中,在不懂得各种前端知识情况下,一步步搭建了一个机遇GitHub Pages + Hexo + NexT的个人主页。刚刚开始,对于Hexo一点儿也不熟悉,还有很多需要配置的地方,但是趁着热乎劲,把搭建的历程记录下来,为后来者以参考,为自己以作备忘。

Note: 完工之后回头看,由于对相关背景知识不了解,胡乱查了很多,其实Hexo的官方文档才是最好的教学和参考,详尽而工整,是很好的技术文档范例,而且有中文版哟~

  1. 个人主页的文件是以repo的形式托管在GitHub上的,所以第一步要创建一个名为 {username}.github.io的项目,按照creating a github pages site一步步操作即可。

  2. 安装Nodejs和Hexo, Hexo Overview

阅读全文 »