OpenGL:新几何创建的Fire事件

时间:2010-07-22 18:15:19

标签: c events opengl

具体我在linux环境下工作。这是一个opengl应用程序。在计算某些几何形状后,我希望能够在创建新几何体时触发事件。在C ??

中是否有任何.NET等价的事件

谢谢, 毗

4 个答案:

答案 0 :(得分:0)

C中的事件使用function callbacks实现。链接的问题有几个答案,解决了如何编码回调。

答案 1 :(得分:0)

使用gnome librariesgtk+(建立在它之上)?您可以使用函数指针自己完成所有操作,但这是我个人使用的标准事件和回调的唯一“标准”C库。那里也可能有其他人。

答案 2 :(得分:0)

从.NET land翻译:

“事件”只是调用一个函数。为了使这个可配置,你需要给生成“event”的东西一个函数指针。函数指针被调用,并且是“事件”发生时“完成”的事情。

“do”的一个东西是C和C ++中的一个函数。

如果你只想在“事件”上“做”一件事。你会传入一个指向你的函数的指针,这是你想要在你的“事件”上“做”的东西,作为导致“事件”的东西的函数指针。这称为回调。其他帖子有很多关于它是如何工作的例子。

如果您需要在“事件”上“执行”多个事情,则需要使用boost::signal之类的信号/插槽实现。或者如果OpenGL有类似的东西,我会用它。在这种情况下,您有多个回调

答案 3 :(得分:0)

虽然我不能说我真的推荐使用它们,但可能的替代回调将是信号。

您可以使用signal说明应如何处理特定信号,并使用raise发送特定信号。但请注意,对于您在信号处理程序中可以执行的操作存在严重限制。很多代码并不是为了很好地处理信号而编写的,并且相当多的代码假设几乎任何信号都意味着一个严重的问题,即在信号出现问题后继续执行。