GithubHelp home page GithubHelp logo

yumao-zk / salviarenderer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wuye9036/salviarenderer

0.0 0.0 0.0 35.39 MB

SALVIA is the rasterizer based software renderer. The goal of SALVIA is capacity of Direct3D 10+.

License: Other

C++ 93.38% Scheme 0.68% Python 2.47% C 2.21% CMake 1.18% Batchfile 0.08%

salviarenderer's Introduction

Project build guide

Acknowledgement

  • We would like to thank JetBrains for their donating licenses to their excellent products to develop Salvia.

JetBrains

  • In this project we are using:
    • PyCharm
    • CLion
    • Reshaper C++

Requirements and build steps

Prerequisites for ALL platforms

Note: CMake and Git may installed with OS, IDEs or build essentials. Please check the installed versions and the activated toolchains.

Windows 10/11

  1. Install latest Visual Studio 2022 with C++, CMake, and Git.
  2. Install vcpkg side-by-side with source code. For example, if your project is located at D:\path\salvia, then vcpkg should be installed at D:\path\vcpkg. Otherwise, you need to specify the vcpkg toolchain file by the config _windows/toolchainFile in CMakePreset_Woodblocks.json.
  3. Open the folder D:\path\salvia with Visual Studio 2022
  4. Select the preset msvc_dbg_win or msvc_rel_win in the CMake Presets tab and build it.

Linux/WSL

  1. gcc above 12.0 or clang above 14.0 is required
  2. Clone the project to path-to-salvia.
  3. Install vcpkg by your OS package system (for e.g. apt on ubuntu). The default installation path of vcpkg is at ~/vcpkg. If it was installed elsewhere, you need to specify the vcpkg toolchain file by the config _linux/toolchainFile in CMakePreset_Woodblocks.json.
  4. Open the folder path-to-salvia with your IDE (VSCode, VIM or CLion).

NOTE for CLion on WSL: If you are working on WSL with CLion, please make sure that the correct CMake and Git and compiler in CLion was selected. You can check or edit the toolchains in Settings > Build, Execution, Deployment > Toolchains.

Mac

  1. Install latest XCode Commad Line Tools.
  2. gcc above 12.0 or clang above 14.0 is required.
  3. Clone the project to path-to-salvia.
  4. Install vcpkg by your OS package system (for e.g. brew on Mac). The default installation path of vcpkg is at ~/Library/vcpkg. If it was installed elsewhere, you need to specify the vcpkg toolchain file by the config _macos/toolchainFile in CMakePreset_Woodblocks.json.
  5. Open the folder path-to-salvia with your IDE (VSCode, VIM or CLion).

NOTE for CLion on Mac: Please download M1 version of CLion if you are using M1 Mac. Otherwise, you may encounter some issues when building the project.

Suggestions for IDEs

  • Windows: We recommend using Visual Studio 2022 and open salvia as folder. VSCode is also available, but only the official C++ intellisense plugin was supported when build with MSVC and its experience is relatively bad.
  • Linux/WSL: CLion is our recommended IDE. If you are using VSCode, we suggest use clangd as the language server. For your convience, the build script generates compile_commands.json and copy to root for clangd by default. And we also highly recommend you to install clang-tidy and clang-format for better code quality.
  • Mac: Same as Linux.

Known issues

All interactive demos are not supported on Linux and Mac because we don't have GUI support on these platforms.

Support Info

If you have any question, please contact: wuye9036 at gmail dot com

salviarenderer's People

Contributors

wuye9036 avatar gongminmin avatar zhoub avatar mohit1324 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.