A GPU rendering text editor client and a server for simultaneous text editing.
Clone this project, then you can run the prebuilt server and client programs placed in editor/server/ and editor/client/build/. You can also build yourself then run them if you want. Your gpu driver should support vulkan to run the client program.
Following commands are for cmd. Use equivalent commands if you use other shells.
client.exe 127.0.0.1:100 YourName
server.exe 127.0.0.1:100
./client 127.0.0.1:100 YourName
./server 127.0.0.1:100
- Install cmake.
- Install vulkan sdk https://vulkan.lunarg.com/sdk/home.
- Install sbcl https://www.sbcl.org/platform-table.html.
- Install quicklisp https://www.quicklisp.org/beta/.
Following commands are for cmd. Use equivalent commands if you use other shells.
- Install ucrt mingw toolchain in msys2 following https://code.visualstudio.com/docs/cpp/config-mingw.
- Move to client/build/ in cmd.
- Build.
cmake .. -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE="Release"
or
cmake .. -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE="Debug"
then,
cmake --build . -j %NUMBER_OF_PROCESSORS%
- client.exe will be built in client/build/.
- Move to server/ in console.
sbcl --load load.lisp
- server.exe will be built in server/.
- Move to client/build/ in terminal.
- Build.
cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE="Release"
or
cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE="Debug"
then,
cmake --build . -j $(nproc)
- client.exe will be built in client/build/.
- Move to server/ in terminal.
sbcl --load load.lisp
- server.exe will be built in server/.
- GPU text rendering is implemented using the method shown in "Eric Lengyel, GPU-Centered Font Rendering Directly from Glyph Outlines, Journal of Computer Graphics Techniques (JCGT), vol. 6, no. 2, 31-47, 2017".