抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

靖待的技术博客

小清新IT旅程 | 为中华之崛起而读书

HOOPS初学概念小记(自用笔记)。

HOOPS 3D Application Framework (HOOPS/3dAF)

官网描述
With HOOPS Visualize, you can rapidly produce eye-popping graphics across both mobile and desktop platforms.

At its core, HOOPS Visualize provides a flexible, hierarchical scene management engine capable of handling a range of graphics entities, together with a sophisticated graphics pipeline and high-performance graphics and interaction handling algorithms. It also delivers advanced capabilities to accelerate your application development, including an animation engine, clash detection, multi-plane sectioning, and large model visualization.

HOOPS 基本图元和属性支持

几 何

  • Images, Unicode Text, Points, Lines, Polygons, Polylines, Polycylinders, NURBS curves, NURBS surfaces, Arcs, Ellipses, Circles, Tristrips, Trifans, Indexed Facesets, Cutting Planes, Capping Geometry

几何属性
Color, Transparency, Textures, Visibility, Patterns (Facet,edge 和 Line), Color Ramps, Lighting Interpolation, Selectability
渲染属性
Shaded, Analytic Hidden Line, Wireframe,Color Maps, Various Color Ramping Algorithms, Window Background Coloring

edges包含polygons,shells,meshes.
faces包含shells和meshes.
markers 单独的点.

标记marker

可作为注释来使用

  • 当放大和缩小时标记的大小是不变的
  • 标记的大小是朝向相机的,它并不旋转

HOOPS MVO (MVO分别是Model、View、Operator的缩写)

段结构

  • HDB
  • HBaseModel:处理在包含库下的段
  • HBaseView:处理在驱动段下的段和实例
  • HbaseOperator:处理图形用户界面/事件循环
    · 相机操作
    · 几何对象操作
    · 选择

3D应用程序中经常用到的函数

  • 保存应用程序数据
  • 绘制应用程序数据
  • 管理应用程序数据
  • 相机
  • 选择
  • 坐标
  • 查询
  • 驱动器设置

shell官网描述

3D applications typically represent 3D objects with an “indexed face set” or “polygon-point mesh”. In Visualize, such primitives are called ‘shells’. A shell defines the boundary surface of an object in 3D using a set of planar polygons. Polygons can be multi-sided and can include holes. A shell is defined as an array of vertices (3D points) and an array of indices into the vertex array that define each polygonal face.

HOOPS Visualize supports a wide range of advanced functionality relating to shells, including the ability to select, highlight, and modify individual sub-entities (faces, edges, and vertices). Attributes such as normals, colors, and texture coordinates can also be set at the sub-entity level to enable a variety of complex shading and display.

Shell 一系列连通的Face / Wire的集合。线、面的集合,能位于实体外,也能在内部形成空洞。一个体含一个悬挂面,一个体内嵌许多和外表面相连的面都称为shell。

shell attributes属性

1.Vertex markers
2.Silhouette(外表面)/perimeter/hard/adjacent edges
3.Cut edges/faces
4.Attributes on subparts
5.Smooth shading
6.Advanced rendering

selection官网描述

The Visualize libraries provide multiple operations for selection and several advanced highlighting techniques.

Selection

Control over what is targeted for selection is configurable:

Segments in the scene graph can be marked as available for selection
The selection level can be specified – entity, geometry, segment, or segment tree. Selection of individual vertices, edges and faces can be configured
The number of selected items to search for is configurable
The selection proximity can be used to select the nearest item on screen within a screen-based tolerance
Selections can be made of all items inside and outside a drag box, inside arbitrary screen regions defined by polylines or polygons, by a volume of 3D space, and by an arbitrary triangle mesh in 3D for clash/collision detection.

坐标系(Coordinate Systems)

对象(Object)->世界(World)->(->视点ViewPoint)->外窗口(Outer Window)->像素(Pixel)

参考资料

理解矩阵(一)
理解矩阵(二)
理解矩阵(三)
HOOPS基础培训课程1
HOOPS基础培训课程2
HOOPS基础培训课程3
HOOPS_MFC应用程序向导

评论