从MATLAB访问OpenGL

直接从matlab访问OpenGL渲染管道。没有墨西哥人,工具箱,或任何其他外部库。

272下载

更新2023年5月10日

从GitHub

查看许可GitHub

从MATLAB访问OpenGL

直接从matlab访问OpenGL渲染管道。

没有墨西哥人的文件,工具箱,或任何其他外部库。

在文件交换观点Matlab OpenGL

例子

一些例子包括,明白了START_HERE.m他们每个人的简要描述。

的3 d查看器的例子

截图2021-12-07 153637截图2021-12-07 153653

分形样例

截图2021-12-07 153529图像

制作您自己的应用程序

的主要出发点是类GLController(或glmu.GLController使用函数glmu包中)。把它作为您的类的超类,管理呈现。

您需要定义下面的抽象方法。在这些方法中,gl参数是当前GL上下文。

  • InitFcn (obj, gl,变长度输入宗量)

    • 当您运行调用一次画布。Init (__arg1、最长,…)在你的类初始化方法。
    • 这应该包含你的opengl初始化的东西。
  • UpdateFcn (obj, gl)

    • “每次canvas.Update ()被称为。它有一些东西在需要时调整和跳过饱和渲染过程的更新。
    • 这应该包含你的opengl渲染管道为每个帧更新请求。
  • ResizeFcn (obj, gl,深圳)

    • 叫一次初始化之后,就在第一帧更新和当用户改变窗口大小。
    • 总是叫之前UpdateFcn (…),在需要的时候。
    • 这应该包含你的opengl调整管道。
    • 这是optionnal。如果没有设置,默认gl.glViewport(0, 0,深圳(1),深圳(2));

有两种方法可以设置渲染的过程。

一直在一个

做一个GLController子类一样:

classdef myApp < GLController方法函数obj = myApp框架()= JFrame (“myApp”);%创建java框架帆布= GLCanvas (“GL3”);%创建glcanvas frame.add(画布);%添加glcanvas obj.setGLCanvas(画布);%设置obj canvas.Init帆布控制器;结束函数InitFcn (obj, gl) %……结束函数UpdateFcn (obj, gl) %……结束结束结束

单独的控制器方法

如果你不想结束与一个巨大的类,你可以让一个单独的GLController Init,调整和更新功能。使GLController子类:

classdef myController < GLController方法函数InitFcn (obj, gl) %……结束函数UpdateFcn (obj, gl) %……结束结束结束

然后,在主应用程序,您可以创建的窗口:

帧= JFrame (“WindowName”);%创建java框架帆布= GLCanvas (“GL3”);%创建glcanvas frame.add(画布);%添加glcanvas ctrl = myController;%构造控制器ctrl.setGLCanvas(画布);%分配画布canvas.Init;

当不使用glInitFcn,UpdateFcnResizeFcn

你可以叫gl命令时不是在这些功能之一。为此,使用(gl,临时)= canvas.getContext。临时的输出参数是上下文锁,必须要求。当温度超出范围,gl命令将抛出错误或运行什么事情都不做。

GL Matlab工具(glmu)

一个实用程序包中包含gl \ + glmu。使用这个包,控制器必须是glmu.GLController。更高级的示例使用它。

不需要您自己的应用程序。然而,它帮助很多抽象一些opengl的东西。随时让自己或为这个项目!

引用作为

弗朗西斯Plamondon (2023)。从MATLAB访问OpenGLGitHub (https://github.com/fr0nkk/matogl/releases/tag/v3.0.0)。检索

MATLAB版本兼容性
创建R2021b
与R2019a后来版本兼容
平台的兼容性
窗户 macOS Linux
标签添加标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!
版本 发表 发布说明
3.0.0.0

GitHub上看到这个版本发布说明:https://github.com/fr0nkk/matogl/releases/tag/v3.0.0

2.2.1

GitHub上看到这个版本发布说明:https://github.com/fr0nkk/matogl/releases/tag/v2.2.1

2.2.0

GitHub上看到这个版本发布说明:https://github.com/fr0nkk/matogl/releases/tag/v2.2.0

2.1.1

GitHub上看到这个版本发布说明:https://github.com/fr0nkk/matogl/releases/tag/v2.1.1

魅惑

GitHub上看到这个版本发布说明:https://github.com/fr0nkk/matogl/releases/tag/v2.1.0

2.0.0

GitHub上看到这个版本发布说明:https://github.com/fr0nkk/matogl/releases/tag/v2.0.0

1.2.0

GitHub上看到这个版本发布说明:https://github.com/fr0nkk/matogl/releases/tag/v1.2.0

1.1.0

GitHub上看到这个版本发布说明:https://github.com/fr0nkk/matogl/releases/tag/v1.1.0

1.0.0

问题在这个视图或报告GitHub插件,参观GitHub库
问题在这个视图或报告GitHub插件,参观GitHub库