[
    {
        "Variant name": "main",
        "Reviewer name": "Nicolas Bonneel <nicolas.bonneel@liris.cnrs.fr>",
        "Is master variant (boolean)": true,
        "Is variant deprecated (boolean)": false,
        "Title": "A high-performance software graphics pipeline architecture for the GPU",
        "DOI": "10.1145/3197517.3201374",
        "Year": 2018,
        "ACM Keywords": [
            "Massively parallel algorithms",
            "Rasterization",
            "Graphics processors"
        ],
        "Topic {Rendering, Animation and Simulation, Geometry, Images, Virtual Reality, Fabrication}": "Rendering",
        "Co-authors from academia (boolean)": true,
        "Co-authors from industry (boolean)": false,
        "ACM Open Access (boolean)": false,
        "PDF on the authors' webpage / institution (boolean)": true,
        "PDF URL": "https://www.markussteinberger.net/papers/cuRE.pdf",
        "PDF on Arxiv or any openarchive initiatives (boolean)": false,
        "Arxiv/OAI page URL": "",
        "Project URL": "",
        "Code available (boolean)": true,
        "If code not available, pseudo-code available (boolean)": false,
        "If pseudo-code, could the paper be trivially implemented? {0..4}": "",
        "Code URL": "https://github.com/GPUPeople/cuRE",
        "Code URL2": "",
        "MD5 sum (for archives)": "",
        "git/hg/svn commit hash or revision number": "ccba6a29bba4445300cbb630befe57e31f0d80cb",
        "MD5 sum (for archives) URL2": "",
        "git/hg/svn commit hash or revision number URL2": "",
        "Software Heritage permalink": "https://archive.softwareheritage.org/swh:1:rev:ccba6a29bba4445300cbb630befe57e31f0d80cb/",
        "Software type {Code, Binary, Partial Code}": "Code",
        "Code License (if any)": "MIT",
        "Are the code authors explicit? (boolean)": false,
        "Build/Configure mechanism": "IDE Project (VS,..), Not applicable (python, Matlab..)",
        "Dependencies": "CUDA",
        "Does the software require paywall/proprietary software/material (boolean)?": false,
        "Does the code need data (not examples) (boolean)": false,
        "Nature of the data (pretrained model, LUT...)": "",
        "License of the data": "",
        "Able to perform a replicability test (boolean)": true,
        "If not able to perform a test, was it due to missing hardware/software? (boolean)": false,
        "Documentation score {0=NA,1,2,3}": 0,
        "Dependencies score {0=NA, 1,2,3,4,5}": 5,
        "Build/configure score {0=NA, 1,2,3,4,5}": 3,
        "Fixing bugs score (if any) {0=NA, 1,2,3,4,5}": 3,
        "Replicate paper results score {0=NA, 1,2,3,4,5}": 5,
        "Adaptability score to other contexts {0=NA, 1,2,3,4,5}": 0,
        "Time spent for the test (code download to first successful run, [0,10], 10min slots, 100min max)": 4,
        "Operating system for the test": "Windows",
        "Build instructions/comments": "To compile the software, a number of steps need to be performed:\n\n- In dependencies/image_tools/source/dds.cpp (line 11) and pfm.cpp (line 10) change \n#include <core/utils/io> to #include \"io.h\"\n\n- In pfm.cpp, line 32: change read(data(img) + w * (h - 1 - j), file, w); to read(file, data(img) + w * (h - 1 - j), w);\n- In dds.cpp, line 77: change return read(buffer, file, width * pixel_size); to return read(file, buffer, width * pixel_size);\n- In dds.cpp, line 83: change read(buffer + y * width * pixel_size, file, width * pixel_size); to read(file, buffer + y * width * pixel_size, width * pixel_size);\n- In dds.cpp, line 97: change read<char, 4>(magic_num, file); to  read<char, 4>(file, magic_num);\n\n- In dependencies/config_tools/include/configfile/Stream.h (line 15), Database.h (line 11), log.h (line 12), change\n#include <core/interface> to #include \"../../../core_tools/include/core/interface.h\"\n- in configfile.cpp, line 11: \nchange #include <core/utils/memory> to #include \"../../../core_tools/include/core/utils/memory.h\"\n- In source/cure/materials/OceanMaterial.cpp and source/cure/Geometry.cpp\nchange #include <core/utils/memory> to #include \"../build/dependencies/core_tools/include/core/utils/memory.h\"\n\n- In the library paths of cuREREnderer, add the path to CUPTI, which was for me:\nC:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2\\extras\\CUPTI\\lib64\n\n- In cure.vcxproj, cudaraster.vcxproj and freepipe.vcxproj, edit \n<Import Project=\"$(VCTargetsPath)\\BuildCustomizations\\CUDA 10.0.props\" />\nto your actual CUDA props path ; mine is:\n<Import Project=\"C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.2\\extras\\visual_studio_integration\\MSBuildExtensions\\CUDA 10.2.props\" />\nand same thing for the corresponding .targets.\n\nAfter that, the software compiles fine with Visual Studio and runs fine with my NVIDIA GeForce RTX 2080.\n\nHowever it has been tested with a Quadro M1000M (under Linux) and only the OpenGL renderer worked (probably the graphics card is not supported). There were no error message indicating why the different plugins could be loaded.",
        "Misc. comments": "",
        "Software language": "C/C++, Shader language"
    }
]