news 2026/5/30 20:25:14

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/5/29 22:48:39

Eel桌面应用开发:5分钟实现Python后端与HTML前端的完美融合

Eel桌面应用开发:5分钟实现Python后端与HTML前端的完美融合 【免费下载链接】Eel A little Python library for making simple Electron-like HTML/JS GUI apps 项目地址: https://gitcode.com/gh_mirrors/ee/Eel 还在为桌面应用开发的技术栈选择而烦恼吗&am…

作者头像 李华
网站建设 2026/5/28 20:34:48

LiquidBounce 终极指南:构建强大的 Minecraft 功能增强客户端

LiquidBounce 终极指南:构建强大的 Minecraft 功能增强客户端 【免费下载链接】LiquidBounce A free mixin-based injection hacked client for Minecraft using the Fabric API 项目地址: https://gitcode.com/gh_mirrors/li/LiquidBounce LiquidBounce 是一…

作者头像 李华
网站建设 2026/5/30 1:42:48

LaVague智能网页代理:用AI语言驱动自动化新时代

LaVague智能网页代理:用AI语言驱动自动化新时代 【免费下载链接】LaVague 项目地址: https://gitcode.com/GitHub_Trending/la/LaVague 在数字化浪潮中,网页自动化已成为提升效率的关键技术。LaVague作为开源AI网页代理框架,通过智能…

作者头像 李华
网站建设 2026/5/28 18:08:20

GoldenDict词典智能更新终极指南:从入门到精通

还在为词典更新频繁中断而烦恼?GoldenDict的智能更新机制让你彻底告别重复下载的困扰!作为一款功能强大的开源词典软件,GoldenDict在词典管理方面展现出了卓越的智能化特性,特别是其增量更新和版本控制功能,让词典维护…

作者头像 李华
网站建设 2026/5/28 23:51:52

使用Docker安装TensorFlow 2.9并挂载外部数据卷的方法详解

使用Docker安装TensorFlow 2.9并挂载外部数据卷的方法详解 在深度学习项目开发中,最令人头疼的往往不是模型调参或数据预处理,而是“环境配置”——明明本地跑得好好的代码,换一台机器就报错依赖缺失、版本冲突,甚至CUDA不兼容。…

作者头像 李华
网站建设 2026/5/29 19:02:19

AI Agent修炼秘籍:从L1小白到L5大神,记忆规划工具三大支柱全解析

通用 LLM Agent 在工业落地时面临“不会记忆、不会规划、不会用工具”三大短板,缺乏系统级成熟度标尺。L1-L5 工业 Agent 能力成熟度框架,把“记忆-规划-工具”三大技术的演进与产业场景一一映射,给出可量化的“爬级”路线。覆盖 50 行业案例…

作者头像 李华