The main goals for week one comprised choosing an existing open-source shader editor for the PDE (Processing Development Environment). These were the final potential options we came across:

I then spent some time looking more closely at the code files of both these programs. After a thorough look, I made a comparison between the two to help us decide which editor would be better for the PDE.

After discussing with my mentor, we decided upon proceeding with Shdr as a GLSL editor for the PDE as it seemed easier to use and had most of the features we required mainly, syntax highlighting, code validation and a rendering window. 

One key issue faced here was that Shdr is a web application while we needed a desktop application to be able to run with the PDE through IPC (Inter-process communication). The next step was to find out whether Shdr could be packaged as a desktop app using electron. For this I downloaded both the Shdr repository and the Electron quick start tutorial project repository from github. 

Next steps involved downloading Node.js and NPM and compiling the  Shdr program using npm commands in the command prompt window (add image).

npm install

npm start

npm run build

Once that program was successfully built and run through cmd I then proceeded to compile it using electron. However at first in order to make sure that electron was running successfully I first compiled and ran the quick-start electron tutorial project. For this I first downloaded electron framework both globally and locally and then ran the main.js file, which is the starter script that tells the program what to do. This generated a browser window with Hello World printed on it (add image).


After running the quick-start project I then proceeded to run the Shdr program through electron. At first I added an index.js file(a duplicate of main.js in the electron quick-start tutorial project) and changed the LoadURL arguments to the editor.html file path of the Shdr program. While in the directory of the Shdr project, I downloaded electron again locally and ran the index.js file. However this generated an empty/blank browser window instead of the Shdr web page contents. This was the main bottleneck for this week and would be dealt with in the following week. 

GLSL Editor Weekly Report 1