news 2026/6/10 15:12:24

OutlineGlowPass 实现发光轮廓的高亮效果

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OutlineGlowPass 实现发光轮廓的高亮效果

一:主要的知识点

1、说明

本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客

2、知识点纪要

本段代码主要涉及的有①通过交互选择actor并高亮显示


二:代码及注释

import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkRenderingCore import vtkActor, vtkRenderer, vtkRenderWindow, vtkRenderWindowInteractor, vtkPolyDataMapper from vtkmodules.vtkFiltersSources import vtkArrowSource from vtkmodules.vtkRenderingOpenGL2 import vtkOutlineGlowPass, vtkRenderStepsPass def main(): colors = vtkNamedColors() iren = vtkRenderWindowInteractor() renWin = vtkRenderWindow() renWin.SetMultiSamples(0) iren.SetRenderWindow(renWin) renderer = vtkRenderer() rendererOutline = vtkRenderer() rendererOutline.SetLayer(1) renWin.SetNumberOfLayers(2) renWin.AddRenderer(rendererOutline) renWin.AddRenderer(renderer) arrowSource = vtkArrowSource() arrowSource.Update() coneMapperMain = vtkPolyDataMapper() coneMapperMain.SetInputConnection(arrowSource.GetOutputPort()) coneActorMain = vtkActor() coneActorMain.SetMapper(coneMapperMain) coneActorMain.GetProperty().SetDiffuseColor(colors.GetColor3d("LimeGreen")) renderer.AddActor(coneActorMain) basecPasses = vtkRenderStepsPass() """ vtkOutlineGlowPass是一个后期渲染通道(vtkRenderPass 的子类), 用来在渲染场景的基础上添加 轮廓高亮发光效果 """ glowPass = vtkOutlineGlowPass() glowPass.SetDelegatePass(basecPasses) rendererOutline.SetPass(glowPass) coneMapperOutline = vtkPolyDataMapper() coneMapperOutline.SetInputConnection(arrowSource.GetOutputPort()) coneActorOutline = vtkActor() coneActorOutline.SetMapper(coneMapperOutline) coneActorOutline.GetProperty().SetColor(colors.GetColor3d("Magenta")) coneActorOutline.GetProperty().LightingOff() rendererOutline.AddActor(coneActorOutline) renWin.SetSize(600, 600) renderer.GradientBackgroundOn() renderer.SetBackground(colors.GetColor3d("DarkSlateGray")) renderer.SetBackground2(colors.GetColor3d("DarkSlateBlue")) renderer.ResetCamera() camera = renderer.GetActiveCamera() camera.Roll(45.0) camera.Azimuth(-30.0) camera.Elevation(-15.0) renderer.ResetCamera() # Now set the active camera for the outline rendererOutline.SetActiveCamera(camera) renWin.SetWindowName('OutlineGlowPass') renWin.Render() iren.Start() if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 12:31:36

InstallerX社区版:重新定义Android应用安装体验的终极指南

还在为Android系统自带的简陋安装器而烦恼吗?InstallerX社区版作为一款功能强大的Android安装器,彻底改变了传统应用安装的方式。无论你是新手用户还是有一定经验的玩家,这款工具都能为你带来前所未有的安装便利。 【免费下载链接】Installer…

作者头像 李华
网站建设 2026/6/10 9:17:42

前端性能优化之性能指标篇

1、常见性能指标 FP(First Paint - 首次绘制):页面首次绘制的时间点,即第一个像素绘制到屏幕上的时间点。FCP(First Contentful Paint - 首次内容绘制):页面首个内容绘制到屏幕上的时间点&…

作者头像 李华
网站建设 2026/6/9 23:14:08

HTML Canvas动画模拟TensorFlow神经元激活过程

HTML Canvas动画模拟TensorFlow神经元激活过程 在深度学习的世界里,模型的“思考”过程常常被视作黑箱——我们输入数据,得到预测结果,但中间究竟发生了什么?尤其是在初学者眼中,神经网络仿佛是一群神秘的电子精灵&am…

作者头像 李华
网站建设 2026/6/10 14:29:50

RuoYi-Vue-Pro:构建企业级SpringBoot后台管理系统的终极解决方案

在当今数字化转型浪潮中,企业对于高效、稳定、可扩展的后台管理系统需求日益迫切。RuoYi-Vue-Pro作为基于SpringBoot的完整后台管理框架,通过多租户SaaS架构、工作流引擎和智能代码生成器等核心功能,为开发者提供了从项目搭建到生产部署的全方…

作者头像 李华