我使用 xtk 在 webgl 画布中可视化医疗数据。目前我正在学习这节课:
这个库相当不错,但文档不多。我想摆脱那个图形用户界面并添加一些鼠标事件。如果我从 GUI 加载网格,如何向网格添加鼠标事件?我其实不知道从哪里开始。开始使用这个库有点令人困惑......
我试过
mesh.click(function(){
alert("yes");
})
Run Code Online (Sandbox Code Playgroud)
或者
mesh.mousedown(function(){
alert("yes");
}
Run Code Online (Sandbox Code Playgroud)
在 WebGL 中渲染的对象不是 DOM 的一部分,因此不会像 DOM 元素那样生成事件。这意味着对于此类事件,您必须自己实现鼠标交互代码。
传统上,在 WebGL/OpenGL 中,这个过程被称为“挑选”,并且在线上有一些不错的资源。(例如: http: //webgldemos.thoughtsincomputation.com/engine_tests/picking)核心流程是这样的:
正如您所看到的,虽然从概念上讲这不是一个困难的方法,但这也涉及几个中级 WebGL 主题,例如渲染到纹理,因此通常不建议初学者使用。我不确定 xtk 中是否有任何功能可以帮助实现这一点(老实说,在您发表文章之前我从未听说过该库),但我猜这是您必须自己实现的东西。