Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Previous revision
mgl:mglmetal [2020/02/04 14:25]
mgl:mglmetal [2020/05/08 12:10]
Line 9: Line 9:
 The good news is that since mgl is written using [[:​mgl:​overview#​design_philosophy|simple,​ atomic functions]] with future OS API compatibility in mind, this transition is not such a monumental task. In fact, as of January 2020, I (jlg) have an alpha version of the mgl code running that is able to do the most important basic functions such as clearing the screen (mglClearScreen),​ drawing points (mglPoints),​ drawing lines (mglFixationCross,​ mglLines), drawing quads (mglQuads) and textures (mglCreateTexture,​ mglBltTexture). ​ The good news is that since mgl is written using [[:​mgl:​overview#​design_philosophy|simple,​ atomic functions]] with future OS API compatibility in mind, this transition is not such a monumental task. In fact, as of January 2020, I (jlg) have an alpha version of the mgl code running that is able to do the most important basic functions such as clearing the screen (mglClearScreen),​ drawing points (mglPoints),​ drawing lines (mglFixationCross,​ mglLines), drawing quads (mglQuads) and textures (mglCreateTexture,​ mglBltTexture). ​
  
-As this will be the third major rewrite of the mgl code, it will be version 3.0. The first version was written using the 32-bit Carbon API and the [[mgl:​mgl2p0|second version]] was written using the 64-bit Cocoa Frameworks.+As this will be the third major rewrite of the mgl code, it will be version 3.0 and will be written primarily in Swift. The first version was written using the 32-bit Carbon API and the [[mgl:​mgl2p0|second version]] was written using the 64-bit Cocoa Frameworks.
  
 ===== Advantages of Metal ===== ===== Advantages of Metal =====
Line 41: Line 41:
  
 ====== Testing ===== ====== Testing =====
 +
 +I've tested this on the latest version of Catalina, not sure if it will work on Mojave or older OS. You probably will need a current version of XCode because Cupertino wouldn'​t allow compilation (at least for my setup) w/out updating everything.
  
 First go to matlab and start up mglMetalTest. This will run mglSocketOpen to setup a socket server, which will wait for the mglMetal application to make a connection. Don't hit enter yet, as you need to start the mglMetal application. First go to matlab and start up mglMetalTest. This will run mglSocketOpen to setup a socket server, which will wait for the mglMetal application to make a connection. Don't hit enter yet, as you need to start the mglMetal application.