renderer

授权协议 MIT License
开发语言 C/C++
所属分类 程序开发、 3D图形处理库
软件类型 开源软件
地区 不详
投 递 者 濮阳弘扬
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Software Renderer

This is a shader-based software renderer written from scratch in C89 withminimal dependencies, available for Windows, macOS, and Linux.

Features

  • Cross platform
  • Minimal dependencies
  • Shader based
  • Homogeneous clipping
  • Back-face culling
  • Perspective correct interpolation
  • Depth testing
  • Alpha testing
  • Alpha blending
  • Cubemapped skybox
  • Skeletal animation
  • Tangent space normal mapping
  • Shadow mapping
  • ACES tone mapping
  • Blinn–Phong reflection model
  • Physically based rendering (PBR)
  • Metallic-roughness workflow
  • Specular-glossiness workflow
  • Image-based lighting (IBL)
  • Orbital camera controls
  • PBR material inspector

Download

Pre-built binaries for Windows, macOS, and Linux are available for downloadfrom the Releases page.

Build

To build the software renderer from source, a C89 compiler and developmentfiles for your window system are required.

Windows

Install Visual Studiowith C++ support and run build_win32.bat.

macOS

Install Command Line Tools for Xcode with the command below andrun build_macos.sh.

xcode-select --install

Linux

Install GCC and Xlib with the following commands and run build_linux.sh.

Ubuntu / Debian

sudo apt install gcc libx11-dev

Fedora / RHEL

sudo dnf install gcc libX11-devel

openSUSE / SUSE

sudo zypper install gcc libX11-devel

Bonus

A CMakeLists.txt file is provided for generating project files usingCMake (see examples below).

Visual Studio

mkdir build
cd build
cmake -G "Visual Studio 16 2019" ..
start Renderer.sln

Xcode

mkdir build
cd build
cmake -G Xcode ..
open Renderer.xcodeproj

Makefile

mkdir build
cd build
cmake -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Release ..
make

Usage

Launch

If the software renderer is launched without arguments, one of the availablescenes will be chosen randomly. To display a specific scene (see below),additional arguments should be supplied. The command line syntax is:

Viewer [test_name [scene_name]]

Controls

  • Orbit: left mouse button
  • Pan: right mouse button
  • Zoom: mouse wheel
  • Rotate lighting: A D S W
  • Reset everything: Space

Inspector

For PBR scenes, a material inspector that is very similar to the layers viewof Marmoset Viewer is provided. Double clickto bring it up.

Screenshots

Scene Command
Viewer blinn azura
Viewer blinn centaur
Viewer blinn craftsman
Viewer blinn elfgirl
Viewer blinn kgirl
Viewer blinn lighthouse
Viewer blinn mccree
Viewer blinn nier2b
Viewer blinn phoenix
Viewer blinn vivi
Viewer blinn whip
Viewer blinn witch
Viewer pbr assassin
Viewer pbr buster
Viewer pbr crab
Viewer pbr dieselpunk
Viewer pbr drone
Viewer pbr helmet
Viewer pbr horse
Viewer pbr junkrat
Viewer pbr ornitier
Viewer pbr ponycar
Viewer pbr robot
Viewer pbr sphere
Viewer pbr spheres

References

Rendering pipeline

Physically based rendering

File formats

Miscellaneous

License

MIT License

  • vxe-table renderer 渲染器详解,强大到没朋友的 render 渲染器使用方式 vxe-table 渲染器 什么场景需要用到呢? 需要实现不同单元格编辑组件(比如:输入框、下拉框、日期选择等…) 需要定制高级筛选(比如:实现类似 Excel 筛选框或定制更加强大自定义筛选等…) 业务太多,构建可复用的渲染器 一键生成可配置化表格等 cell-render 单元格渲染 正常情况下,如

  • 2D Renderer Preparing for 2D Rendering 本节主要是为即将要完成的 2D渲染的渲染器创建一个新的 Layer 来使用,首先将 Hazel.h 中的 EntryPoint.h 放到我们的 SandBox 中,因为这个头文件实际上是整个项目的 main 函数,我们后面再进行 Hazel.h 包含的时候会出问题 #pragma once #include "Haze

  • 用renderer.material.mainTexture,只改变这个物体的材质,停止运行后,材质也不会变。 不要public Material m; 然后改变材质,那样的话所有物体都会变,而且运行后材质也改变;和这个有相同效果的是renderer.material.sharedMaterial,也是改完所有物体都变,运行后材质改变。 获取材质修改:  render.shaderMaterial

  • 什么是渲染器     渲染器就是将服务器生成的数据格式转为http请求的格式 渲染器触发及参数配置 在DRF配置参数中,可用的渲染器作为一个类的列表进行定义 但与解析器不同的是,渲染器的列表是有顺序关系的 REST框架将对传入请求执行内容协商,根据请求的类型确定最合适的渲染器以满足类型要求 内容协商过程会检查请求头部的 Accept 属性,以确定客户期望的媒体类型。 URL上的格式后缀可用于显式地

  • 1、  renderer组件并没有Color的定义,只有material才有,所以要先获取material才行,         renderer.material.color = Color.red;

  • 步骤1:vue-server-renderer 的作用及基本语法 npm install --save vue-server-renderer vue API 1. createRenderer() 该方法是创建一个renderer实列。如下代码: const renderer = require('vue-server-renderer').createRenderer(); 2. render

  • renderer2的所有方法:官网:https://angular.cn/api/core/Renderer2 获取元素的方法:https://blog.csdn.net/qq_28004379/article/details/80801378

  • Unity API-----Renderer(渲染器) 官方文档阅读记录 版本 : 2019.3 官方文档传送门 Renderer是UnityEngine命名空间下的一个类. Renderer继承于Component. 描述 : 所有渲染器的常规功能。 渲染器使对象出现在屏幕上。使用此类访问任何对象,网格或“粒子系统”的渲染器。可以禁用渲染器以使对象不可见(请参见enabled),并且可以通过它们

 相关资料
  • 问题内容: 现在,我的JTable的值显示为。通常这没问题,但我想将它们显示为替代String或图像。我可以将它们显示为true / false,但如果为true,则希望将其显示为选中标记(✔),如果为false,则不显示任何内容。可能是一张图片,但首先要做一个字符串… 问题答案: 创建一个自定义渲染器。扩展DefaultTableCellRenderer并添加您自己的代码以显示所需的内容。它可以

  • 问题内容: 将我的war文件部署到tomcat时出现错误: 我四处搜寻,发现log4j.xml的顺序可能是错误的,但应该是正确的。 有什么建议么? 问题答案: 根据错误消息,DTD期望所有元素都在该元素之前。您选择的方式错误。

  • Registering a renderer Rendering custom HTML in cells Rendering custom HTML in header Registering a renderer When you create a renderer, a good idea is to assign it as an alias that will refer to this

  • You can declare a custom renderer for the HotTable component either by declaring it as a function in the Handsontable options, or create a rendering component. Declaring a renderer as a function Decla

  • An implementation of the @handsontable/angular with a custom renderer added. It takes an image url as the input and renders the image in the edited cell.// app.component.ts import { Component } from '

  • An implementation of the @handsontable/react with a custom renderer added. It takes an image url as the input and renders the image in the edited cell.import React from 'react'; import ReactDOM from '

  • 文:youyou Skinned Mesh Renderer 组件继承自 Mesh Renderer,所以 Skinned Mesh Renderer 组件也可以指定 mesh 和 textures 属性。 Cocos Creator 使用 Skinned Mesh Renderer 组件来渲染骨骼动画,骨骼动画会将网格中的顶点关联到骨架(即一组节点)上,然后骨骼动画会在预先编辑好的动画中驱动这个

  • 文:youyou Mesh Renderer 用于绘制网格资源,如果网格资源中含有多个子网格,那么 Mesh Renderer 中也需要有对应多的贴图才能正确绘制网格。 属性 mesh 指定渲染所用的网格资源 textures 网格资源允许使用多个贴图资源,所有贴图资源都存在 textures 数组中。 如果网格资源中有多个子网格, 那么 Mesh Renderer 会从 textures 数组中

相关阅读

相关文章

相关问答

相关文档