- 博客(57)
- 资源 (13)
- 收藏
- 关注
原创 cuda-memcheck/compute-sanitizer工具使用
cuda-memcheck是CUDA工具包中的一个功能正确性检查套件。它包含多个可以执行不同类型检查的工具。这些工具可以精确地检测和归因CUDA应用程序中的越界和未对齐的内存访问错误。具体包括 memcheck、 racecheck、initcheck、 synccheck 共 4 个工具
2024-02-17 15:30:46 2055
原创 VTK 体渲染设置帧率
当我们的mapper采样距离设置较低或者硬件性能不太好时,体渲染交互会有卡顿现象。为了提高交互时的流畅性,可以设置交互器的SetDesiredUpdateRate来降低采样率进而避免卡顿现象。
2024-02-08 10:00:00 609
原创 VTK SetLayer设置图层
在VTK中,你可以通过设置vtkRenderer的层级来控制渲染的顺序。例如,你可以将体绘制的vtkRenderer设置在第0层,将面模型的vtkRenderer设置在第1层。这样,面模型就会覆盖显示在下一层的体绘制模型上,有时我们会有这样的需求。
2024-02-07 19:45:00 552
原创 Cuda编程注意小事项
编译出来的可执行文件将包含4个二进制版本,分别对应开普勒架构(不包含比较老的3.0和3.2的计算能力)、麦克斯韦架构、帕斯卡架构和伏特架构。另外,需要注意的是,过多地指定计算能力,会增加编译时间和可执行文件的大小。在将源代码编译为PTX代码时,需要用选项-arch=compute_XY指定—个虚拟架构的计算能力,用以确定代码中能够使用的CUDA功能。在将PTX代码编译为cubin代码时,需要用选项-code=sm_ZW指定一个真实架构的计算能力,用以确定可执行文件能够使用的GPU。这些限制是必须牢记的。
2024-02-06 21:00:00 1226
原创 Cuda三维纹理的使用
cudaExtent cudaChannelFormatDesc cudaMalloc3DArray cudaMemcpy3DParms cudaMemcpy3D cudaBindTextureToArray
2023-09-28 01:45:55 468
原创 ctypes传指针
ctypes中使用POINTER和pointer表示指针,在使用POINTER时需要设置指向的数据类型,而pointer则直接从变量中得到一个特定类型的指针。传入的指针需要提前申请内存,且so中不能指针越界。
2023-05-04 23:52:05 562 1
原创 VTK世界坐标系转屏幕坐标系
view4[0] + 1的原因为x_world和y_world的范围是[-1,1],那么将它们加1之后,范围就变成了[0,2],然后再除以2,就可以将范围归一化到[0,1]。方法二:如果有大量点需要转换可以使用GetCompositeProjectionTransformMatrix获得投影变换矩阵,然后计算点在屏幕上的投影位置。参数GetTiledAspectRatio()是默认参数值,表示使用默认的near和far剪裁平面。表示渲染窗口的长宽比,这个参数通常设置为1.0,
2023-05-01 22:57:00 1341 1
原创 VTK重采样
使用vtkImageResample重采样,可以放大可以缩小,也可以通过设置spacing、extent、origin等参数进行设置。使用vtkImageMagnify生采样、vtkImageShrink3D降采样,但是只能设置整数倍。使用vtkResampleToImage直接重采样到指定维度。
2023-04-24 23:48:47 281
原创 CUDA线程块的分配
为了确保能够真正地了解线程块的分配,接下来我们写一个简短的内核程序来输出线程块、线程、线程束和线程全局标号到屏幕上。现在,除非你使用的是 3.2 版本以上的 SDK否则内核中是不支持 printf的。因此,我们可以将数据传送回 CPU 端然后输出到控制台窗口,内核的代码如下:
2023-02-19 22:27:23 542
原创 cudaMemGetInfo获取的显存占用与实际不符问题
在windows或者wsl下开发cuda程序时使用cudaMemGetInfo查询显存占用时会与nvidia-smi、gpu-z等查询的区别很大。并且不管实际显存被占用了多少,使用cudaMemGetInfo每次查询都是一个固定的显存占用值,这种情况和内存虚拟化很像,每个进程都有自己的虚拟空间。而在Linux服务器下使用cudaMemGetInfo查询时则为实际占用的显存大小。
2023-02-05 22:30:36 1017
原创 无法解析的外部符号: __cudaRegisterLinkedBinary_
cmake中加入 set_target_properties(${PROJECT_NAME} PROPERTIES CUDA_RESOLVE_DEVICE_SYMBOLS ON)问题:cmake cuda动态或静态库后,可执行程序链接时报 无法解析的外部符号: __cudaRegisterLinkedBinary_
2022-12-18 19:04:27 1248
原创 VTK实现电影级渲染效果(CVR)
目前vtk9.2.2版本中已经集成了ray marching(光线步进)算法实现的体渲染功能,官方博客中已经介绍为电影级体渲染
2022-11-14 00:32:53 2193 7
原创 error C1128: 节数超过对象文件格式限制: 请使用 /bigobj 进行编译
cmake:set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj")
2022-10-24 10:47:27 535
原创 CefBrowserHost::SetWindowVisibility 移除
开发是发现cef内核版本为101时发现49版本的CefBrowserHost::SetWindowVisibility已经被移除,代替方法为CefBrowserHost::WasHidden。
2022-09-23 19:34:05 188
原创 itk中值滤波
typedefitkMeanImageFilterfilterType;filterTypePointermeanFilter=filterTypeNew();meanFilter->SetInput(reader->GetOutput());meanFilter->SetRadius(3);meanFilter->Update();
2022-07-19 16:40:17 143
原创 #error -- unsupported Microsoft Visual Studio version Only the versions 2012, 2013, 2015 and 2017
#error -- unsupported GNU version! gcc versions later than 7 are not supported!
2022-05-17 14:15:10 1033
原创 cmake时Qt5_dir-NOTFOUND
在使用cmake构建工程时,找不到qt5。方法一:找到qt的安装目录然后选择,windows默认安装的路径一般为C:\Qt\Qt5.5.1\5.5\msvc2012\lib\cmake\Qt5msvc目录有可能也是gcc_64,视安装为准。方法二:编辑系统环境变量,新建一个名为Qt5_DIR环境变量,变量值为上述目录C:\Qt\Qt5.5.1\5.5\msvc2012\lib\cmake\Qt5...
2022-05-10 23:02:54 6017 8
原创 Linux不常用的命令
1、Linux下拷贝程序所有依赖库到当前目录cp `ldd your_exe | awk '{print $3}'` .
2022-04-23 23:38:52 1360
原创 VTK膨胀一个值,腐蚀另一个值
vtkSmartPointer<vtkImageDilateErode3D> filter = vtkSmartPointer<vtkImageDilateErode3D>::New(); filter->SetInputData(lobe_mask_data); filter->SetDilateValue(1); filter->SetErodeValue(0); filter->SetKernelSize(3, 3, 3); filter-..
2022-04-23 23:14:31 683
原创 VTK高斯平滑
vtkSmartPointer<vtkImageGaussianSmooth> gaussianSmoothFilter = vtkSmartPointer<vtkImageGaussianSmooth>::New(); gaussianSmoothFilter->SetInputData(reader->GetOutput()); gaussianSmoothFilter->SetDimensionality(3); gaussianSmoothF...
2022-04-23 23:10:36 332
原创 VTK边界增强
vtkNew<vtkImageLaplacian> laplacian; laplacian->SetInputConnection(reader->GetOutputPort()); laplacian->SetDimensionality(3); vtkNew<vtkImageMathematics> enhance; enhance->SetInputConnection(0, reader->GetOutputPort()); e..
2022-04-23 23:06:18 270
原创 VTK设置光照
vtkNew<vtkVolumeProperty> volumeProperty; volumeProperty->SetInterpolationType(VTK_CUBIC_INTERPOLATION); //光线插值类型 volumeProperty->SetShade(0, 1); //打开或者关闭阴影测试 volumeProperty->SetAmbient(0.25); //环境光强 volumeProperty->SetDiffuse(0.8..
2022-04-23 22:49:12 420
原创 VTK保存渲染图片
方法一: vtkSmartPointer<vtkWindowToImageFilter> windowToImageFilter = vtkSmartPointer<vtkWindowToImageFilter>::New(); windowToImageFilter->SetInput(renWin); //windowToImageFilter->SetInputBufferTypeToRGBA(); //also record the al
2022-04-23 22:45:36 565
原创 CMake构建osg Demo
一、cmakelists写法# CMakeList.txt: osgtest 的 CMake 项目,在此处包括源代码并定义# 项目特定的逻辑。#cmake_minimum_required (VERSION 3.8)find_package(OpenSceneGraph REQUIRED osgDB osgViewer)include_directories(${OPENSCENEGRAPH_INCLUDE_DIR})# 将源代码添加到此项目的可执行文件。add_executable
2022-04-10 23:37:07 632
原创 CMake编译OSG
一、数据下载osg源码:稳定版本 (osgchina.org)第三方库:Dependencies (openscenegraph.org)选择对应的版本即可数据:数据资源 (osgchina.org)数据为实现demo时可以直接使用的数据,解压即可。二、构建解压第三方库到指定目录,然后在ACTUAL_3RDPARTY_DIR填上对应的目录,注意目录级数指定安装目录CMAKE_INSTALL_PREFIX。三、编译安装...
2022-04-10 22:33:43 388
转载 c/c++运行时库:MT、MTd、MD、MDd以及libcmt msvcrt等内容
文章转载自:你所不知道的C和C++运行库_ithzhang的博客-CSDN博客_c/c++运行库作者写的已经很清楚了,这个文章很透彻。在各个版本的编译器中,我们可以通过配置选项来设置程序使用的C和C++运行时库的类型。如下图(其他版本编译器大同小异):MT选项:链接LIB版的C和C++运行库。在链接时就会在将C和C++运行时库集成到程序中成为程序中的代码,程序体积会变大。MTd选项:LIB的调试版。MD选项:使用DLL版的C和C++运行库,这样在程序运行时会动态的加载对应...
2022-04-07 11:28:52 1811
windows-kb971513.rar
2021-03-03
json lib jdk
2017-10-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人