问题描述
我正在使用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 (将#修改为@)