原创 VTK使用NVIDIA RTX添加gpu加速射線跟蹤

原文url:https://blog.kitware.com/paraview-and-vtk-add-gpu-accelerated-ray-tracing-with-nvidia-rtx/ ParaView and VTK a

原创 通過指定cellid獲取周圍cellid信息,改變指定cellid的顏色

參考url:https://lorensen.github.io/VTKExamples/site/Cxx/PolyData/CellEdgeNeighbors/ 1.根據指定的cellid獲取周圍cellid信息 void ge

原创 使用vtk繪製體

讀取dcm文件(不可壓縮) vtkSmartPointer<vtkDICOMImageReader> reader = vtkSmartPointer<vtkDICOMImageReader>::New();

原创 繪製四面體(切割後封閉)

參考url:https://lorensen.github.io/VTKExamples/site/Cxx/GeometricObjects/Cell3DDemonstration 效果圖: 實現: vtkSmartPoint

原创 使用VTK引入基於物理的渲染

原文地址:https://blog.kitware.com/vtk-pbr/ Introducing Physically Based Rendering with VTK Introduction 介紹 Until VTK

原创 vtk中四元數的使用

1.使用 //構造旋轉四元數 vtkQuaterniond rotation; rotation.SetRotationAngleAndAxis(vtkMath::RadiansFromDegrees(90

原创 Opengl中給矩形添加紋理和繪製一個立方體

效果圖: 源碼: #include <stdio.h> #include <string.h> #include <GL/glew.h> #include <GL/freeglut.h> #include <string> #i

原创 Vulkan學習--3.選擇一個支持 Vulkan 的圖形設備 (VkPhysicalDevice)

創建 VkInstance 後,我們需要查詢系統中的顯卡設備,選擇一個支持我們需要的特性的設備使用。 Vulkan 允許我們選擇任意數量的顯卡設備,並能夠同時使用它們,但在這裏,我們只使用第一個滿足我們需求的顯卡設備。 隊列族:

原创 Vulkan學習--11.創建指令緩衝對象

Vulkan 下的指令,比如繪製指令和內存傳輸指令並不是直接通過函數調用執行的。我們需要將所有要執行的操作記錄在一個指令緩衝對象,然後提交給可以執行這些操作的隊列才能執行。這使得我們可以在程序初始化時就準備好所有要指定的指令序列,

原创 Vulkan學習--4.創建 VkDevice(邏輯設備) 和 VkQueue(隊列)

• 爲繪製和顯示操作創建 VkDevice(邏輯設備) 和 VkQueue(隊列) 選擇物理設備後,我們還需要一個邏輯設備來作爲和物理設備交互的接口。 我們還需要指定使用的隊列所屬的隊列族。 對於同一個物理設備,我們可以根據需求的

原创 幀緩衝整理

參考地址: https://learnopengl-cn.readthedocs.io/zh/latest/04%20Advanced%20OpenGL/05%20Framebuffers/ https://www.jiansh

原创 基於PBR繪製球

參考: https://learnopengl.com/PBR/Theory https://learnopengl.com/PBR/Lighting 請先看下參考的兩個文章,特別是是第一個,看不懂看這個估計很費勁 重點在片

原创 使用zlib對字符串進行壓縮

編譯好的zlib庫: https://download.csdn.net/download/yuxing55555/11938358 參考源碼中的示例:zlib-1.2.11/test/example.c 壓縮,解壓縮及其測試:

原创 pbr_Theory

原文url:https://learnopengl.com/PBR/Theory 只寫了一部分,看不太懂 理論 PBR,也就是通常所說的基於物理的渲染,是一組渲染技術,它們或多或少地基於與物理世界更接近的底層理論。由於基於物理的渲

原创 一個使用vtkImplicitWindowFunction的示例

效果圖: 示例: vtkSmartPointer<vtkQuadric> quadric = vtkSmartPointer<vtkQuadric>::New(); quadric->SetCoe