Getting Started
Filmmaker
The Pragma Filmmaker (PFM) is an addon for the Pragma Engine and is shipped with all Pragma installations by default. See here for information on how to install Pragma. Click here for more information on the Engine itself.
PFM is currently in a very early beta stage, it is not a viable replacement for SFM yet. You can use it for rendering, however the editing capabilities are currently very limited.
The primary goal of this project is an open-source, highly moddable alternative to the Source Filmmaker, with new features and quality of life changes. The project is still in an early state and is funded by Patreon supporters. Some of the current features include:
- Support for various source engine assets, such as: maps, models, materials, textures, sound-script files and particle systems
- Support for loading SFM projects/sessions
- Can automatically locate assets of installed Source Engine games (as well as workshop addons and Gamebryo games)
- Raytraced rendering with Cycles (the same renderer used by Blender)
- External rendering tool for rendering in the background
- Extensive modding support with Lua
- Support for physically based rendering
- Steam Audio support for spatial audio* (WIP)
- Open source (Source Code available on GitHub)
- etc.
Here's a comparison render between SFM and PFM:
Usage
- Start Pragma and click "New Game"
- Select the map for your project from the map list. The map can currently not be changed through the Filmmaker interface (yet).
- Set the game mode to "Filmmaker"
- Press "Start Game"
If you're loading a map for the first time, Pragma will have to convert the map and all of its assets first, which may take several minutes. This only has to be done once for every map/asset, so loading should be faster next time.
Once the Filmmaker has been loaded, select "File -> Import..." from the menu bar and select your SFM project, then press "Open". This will once again start a conversion process, which may take several minutes. Save and load the project in PFM's own format to improve loading times in the future ("File -> Save..." / "File -> Open...").
Here's an example video on how to load a map / a project:
(The video is from an older video of Pragma / PFM, but the basic approach is still the same.)
Rendering
To render your scene, switch to the "Cycles-Renderer" tab above the viewport. You should see a black square image with several render options to the right and several buttons below it.
If you want to get a quick preview render, click the "Render Preview" button. This will render an image with a very low sample count and low resolution, which gives you a rough idea of what the final render will look like, but should not be used as your final render.
When rendering an image for a new project or a new map for the first time, Pragma may appear frozen for a few minutes, this is because some additional asset conversions are required for the Cycles-renderer. Subsequent renders should not take as long.
To render your final image(s), press the "Render Image(s)" button. Depending on the complexity of the scene, your hardware, the specified sample count and various other factors, this can take anything between several seconds and minutes. Once rendering is complete, the image will automatically get saved to the specified output directory on your harddrive, you can press the "Open Output Folder" to open it in the system explorer.
You can use the render options to change the resolution, sample count, number of frames to render, etc. To get more details about a specific option, hover over it with the mouse and a tooltip should appear.
In general it is not recommended to render a large sequence of images or images with a large sample count / high resolution directly in Pragma and to use the external render tool instead. Please see that section for details.
Render Tool
While it's possible to render images directly in the Filmmaker, it is not recommended. You can use an external rendering tool instead, which has the following advantages:
- It's much faster than rendering directly in Pragma (since more GPU resources are available if Pragma is not running)
- You don't have to keep Pragma running in the background during the render process
- You can keep working on projects without affecting the rendering
- It's specialized for a single task and therefore less likely to crash than Pragma
- You can use both your CPU and GPU simultaneously when rendering animations
- You can cancel it any time, frames that have already been rendered will not be lost (except for the current one)
To use the external rendering tool, follow these instructions:
- Launch PFM like usual and load your project
- Switch to the "Cycles-renderer" tab
- Instead of clicking "Render Image(s)" to render your images, click the "Create render job(s)" button
- A ".prt"-file will be created in the output directory for every frame you wish to render, which contains a snapshot of all of the scene data required to render the frame
- (Optional) At this point you may close Pragma
- Drag and drop the ".prt"-files onto "Pragma/bin/render_raytracing.exe"
The images will be rendered one after the other and placed in the same directory as the ".prt"-files.
Advanced
There will be some advanced tutorials in the future. In the meantime, you can check out NETFUTA's PFM tutorial over here (NSFW content warning!), which covers topics like subsurface scattering, various tips, etc.