背面剔除_BackfaceCullingOn

2023-11-29 03:44

本文主要是介绍背面剔除_BackfaceCullingOn,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


开发环境:

  1. Windows 11 家庭中文版
  2. Microsoft Visual Studio Community 2019
  3. VTK-9.3.0.rc0
  4. vtk-example

demo解决问题: 启用了背面剔除的球体

关于背面剔除:

  1. 背面剔除是图形学中的一种技术,用于提高渲染效率和减少不必要的计算。在三维图形渲染中,通常会根据物体的位置和相机的视角来确定哪些物体或面片会被显示在屏幕上。

  2. 背面剔除通过检测物体或面片的法线方向与相机视角的夹角来判断其是否朝向相机。如果一个物体或面片的法线方向指向相机外部,那么它就是背面,可以被剔除,不需要进行渲染和计算。这样可以节省计算资源和渲染时间。

  3. 背面剔除在虚拟现实、游戏开发和计算机动画等领域广泛应用。通过剔除不可见的背面物体或面片,可以提高渲染性能,使得场景更加流畅和真实。

参考链接1
参考链接2


prj name: BackfaceCulling

#include <vtkActor.h>
#include <vtkNamedColors.h>
#include <vtkNew.h>
#include <vtkPolyDataMapper.h>
#include <vtkProperty.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkSphereSource.h>int main(int, char*[])
{vtkNew<vtkNamedColors> colors;// SpherevtkNew<vtkSphereSource> sphereSource;sphereSource->Update();vtkNew<vtkPolyDataMapper> mapper;mapper->SetInputConnection(sphereSource->GetOutputPort());vtkNew<vtkActor> actor;actor->SetMapper(mapper);actor->GetProperty()->SetColor(colors->GetColor3d("Peacock").GetData());vtkNew<vtkProperty> backProperty;backProperty->SetColor(colors->GetColor3d("Gold").GetData());actor->SetBackfaceProperty(backProperty);// https://blog.csdn.net/u014003644/article/details/120764316// https://blog.csdn.net/weixin_45666570/article/details/108942581// Since back face culling is on, when you zoom into the sphere, you won't see// the gold colored backface.actor->GetProperty()->BackfaceCullingOn();// VisualizevtkNew<vtkRenderer> renderer;vtkNew<vtkRenderWindow> renderWindow;renderWindow->AddRenderer(renderer);renderWindow->SetWindowName("BackfaceCulling");vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;renderWindowInteractor->SetRenderWindow(renderWindow);renderer->AddActor(actor);renderer->SetBackground(colors->GetColor3d("MistyRose").GetData());renderWindow->Render();renderWindowInteractor->Start();return EXIT_SUCCESS;
}

这篇关于背面剔除_BackfaceCullingOn的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/431323

相关文章

剔除vg中的pv--xfs文件系统

xfs文件系统不支持缩小操作,如果要踢盘,那就必须把目录做备份,重做挂接点拷贝恢复了。 [root@oem /]# umount /app [root@oem /]# lvs   LV     VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert   root   centos -wi-ao-

android openGL ES详解——剔除

一、正面剔除 在绘制3D场景的时候,我们需要决定哪些部分是对观察者 可见的,或者哪些部分是对观察者不可⻅的.对于不可见的部分,应该及早丢弃.例如在⼀个不透明的墙壁后,就不应该渲染.这种情况叫做”隐藏⾯消除”(Hidden surface elimination). 立方体中的正背面 任何物体都有两面性,正面和背面,而观察者只能看到一个面.OpenGL可以通过分析顶点数据的顺序检测到面向观察者

避雷!Springer、Cell等出版社旗下17本SCI/SSCI被剔除,含3本on hold期刊!

2024年8月19日,科睿唯安本年度第八次更新Web of Science核心期刊目录。 图片来源:科睿唯安 与上次更新(2024年7月)相比,此次更新后的SCIE、SSCI期刊目录共17本期刊发生变动,详情如下: 图片来源:欧亚科睿学术整理 值得注意的是,期刊更名后,前期刊名称在Master Journal List中已经无法搜到,大家不需要惊慌,搜索更新后的

微服务健康检查:如何通过Eureka实现服务自动剔除与恢复

微服务健康检查:如何通过Eureka实现服务自动剔除与恢复 引言 随着微服务架构的广泛应用,如何保证服务的高可用性和系统的稳定性成为了架构设计中的重要考量。服务注册与发现是微服务架构中的关键组件,它们确保了微服务能够被其他服务发现并调用。Eureka是Netflix开源的一款服务注册与发现工具,广泛应用于Spring Cloud体系中。在一个微服务集群中,服务的健康状态直接关系到整个系统的稳定

三维渲染背面剔除

三维渲染中的背面剔除 背面剔除(Backface Culling)是一种用于优化三维渲染性能的技术,通过剔除那些在当前视角下不可见的多边形,减少需要处理的几何体数量,从而提高渲染效率。 基本概念 在三维渲染中,物体的表面由许多多边形(通常是三角形)构成。每个多边形都有正面和背面。在闭合的三维物体中(如立方体、球体等),从一个特定视角只能看到正面的多边形,而背面的多边形被自身遮挡,实际上是不可

刚刚发布!这4本期刊已剔除SCI收录,附完整目录下载

科睿唯安于6月19日更新了SCIE、SSCI、AHCI、ESCI四大数据库最新收录期刊目录。 2024年第一版——2024年1月24日更新 2024年第二版——2024年2月19日更新 2024年第三版——2024年3月18日更新 2024年第四版——2024年4月15日更新 2024年第五版——2024年5月20日更新 2024年第六版——2024年6月19日更新 最新目录共收录2

慎投!新增18本期刊被WOS数据库剔除!

本周投稿推荐 SSCI • 中科院2区,6.0-7.0(录用友好) EI • 各领域沾边均可(2天录用) CNKI • 7天录用-检索(急录友好) SCI&EI • 4区生物医学类,0.5-1.0(录用率99%) • 1区工程类,6.0-7.0(进展超顺) • IEEE(TOP),7.5-8.0(实力强刊) 数据库更新:SCI/SSCI、AHCI/ESCI期刊更新 20

44、Flink 的默认窗口剔除器 evictor 代码示例

1、CountEvictor 仅记录用户指定数量的元素,一旦窗口中的元素超过这个数量,多余的元素会从窗口缓存的开头移除。 2、DeltaEvictor 接收 DeltaFunction 和 threshold 参数,计算最后一个元素与窗口缓存中所有元素的差值,并移除差值大于或等于 threshold 的元素。 3、TimeEvictor 接收 interval 参数,以毫秒表示,它会找到

OpenGL学习之面剔除——Face Culling

前言 我们在做渲染时,有时候为了提升性能,特别是在硬件性能有限的情况下,如在手机上做3D图形渲染时(OpenGL ES),如果不做性能优化,很难达到预期的效果。因此,引出本篇文章所要说的主题——面剔除(Face Culling),当然优化的方式还有其他方式。 在特定的硬件上渲染的三角面片是有限的,那么这种情况下,就应该减少不必要的三角面片,提升性能。 加入有一个立方体,正常情况下,我们最多只

这2本期刊已被剔除AHCI

美国时间5月20日更新的Journal List中,有2本期刊被剔除A&HCI数据库,被剔除的2本期刊中, 有1本期刊是信息更改。期刊变更信息如下。 期刊 LEONARDO MUSIC JOURNAL 信息变更为 LEONARDO。 除此之外还有1本期刊被剔除A&HCI数据库,我们整理了期刊的详细信息供大家参考! RELIGIOUS HUMANISM ISSN:0034-4095