如何解决C ++宏包装外部函数并将其添加到类中
我正在使用C ++ / wasm(WebAssembly)在浏览器中使用webgl进行渲染。为此,我导入所有webgl函数(很多30+函数),并将它们包装在c ++类中。由于有很多功能,我的文件大小越来越大(导入+包装)。
一个函数的示例(这是一个外部js函数):
importfrom("webgl") void viewport(GLhandle deviceRef,GLsizei x,GLsizei y,GLsizei w,GLsizei h);
deviceRef是呈现上下文的(int)句柄。在我的C ++包装器内部,我使用以下函数:
class WebGlRenderContext {
private:
GLhandle contextHandle = 0;
public:
WebGlRenderContext(GLhandle context) : contextHandle(context) { }
inline void setViewport(GLsizei x,GLsizei h) {
JsImports::viewport(contextHandle,x,y,w,h);
}
...
}
有没有一种方法可以在宏中完成所有操作,然后导入,创建内联包装并添加contextHandle作为第一个参数。我知道宏有可变参数,但我认为没有办法剥离内部调用的类型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。