Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
n5
URasterizer
提交
082d2fed
URasterizer
项目概览
n5
/
URasterizer
通知
21
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
URasterizer
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
082d2fed
编写于
3月 17, 2022
作者:
H
happyfire
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- folder structure
上级
15bccf0d
变更
18
隐藏空白更改
内联
并排
Showing
18 changed file
with
65 addition
and
34 deletion
+65
-34
URasterizer/Assembly-CSharp.csproj
URasterizer/Assembly-CSharp.csproj
+7
-7
URasterizer/Assets/Samples/Scenes/TestScene01.unity
URasterizer/Assets/Samples/Scenes/TestScene01.unity
+2
-2
URasterizer/Assets/URasterizer/Codes/CPURasterizer/CPURasterizer.cs
...r/Assets/URasterizer/Codes/CPURasterizer/CPURasterizer.cs
+1
-0
URasterizer/Assets/URasterizer/Codes/CPURasterizer/FragmentShader.cs
.../Assets/URasterizer/Codes/CPURasterizer/FragmentShader.cs
+49
-23
URasterizer/Assets/URasterizer/Codes/GPURasterizer/Shaders.meta
...rizer/Assets/URasterizer/Codes/GPURasterizer/Shaders.meta
+0
-0
URasterizer/Assets/URasterizer/Codes/GPURasterizer/Shaders/URCommon.hlsl
...ets/URasterizer/Codes/GPURasterizer/Shaders/URCommon.hlsl
+0
-0
URasterizer/Assets/URasterizer/Codes/GPURasterizer/Shaders/URCommon.hlsl.meta
...Rasterizer/Codes/GPURasterizer/Shaders/URCommon.hlsl.meta
+0
-0
URasterizer/Assets/URasterizer/Codes/GPURasterizer/Shaders/URComputeShader.compute
...rizer/Codes/GPURasterizer/Shaders/URComputeShader.compute
+0
-0
URasterizer/Assets/URasterizer/Codes/GPURasterizer/Shaders/URComputeShader.compute.meta
.../Codes/GPURasterizer/Shaders/URComputeShader.compute.meta
+0
-0
URasterizer/Assets/URasterizer/Codes/GPURasterizer/Shaders/URFragmentShader.hlsl
...terizer/Codes/GPURasterizer/Shaders/URFragmentShader.hlsl
+0
-0
URasterizer/Assets/URasterizer/Codes/GPURasterizer/Shaders/URFragmentShader.hlsl.meta
...er/Codes/GPURasterizer/Shaders/URFragmentShader.hlsl.meta
+0
-0
URasterizer/Assets/URasterizer/Codes/GPURasterizer/Shaders/URTriangleProcess.hlsl
...erizer/Codes/GPURasterizer/Shaders/URTriangleProcess.hlsl
+0
-0
URasterizer/Assets/URasterizer/Codes/GPURasterizer/Shaders/URTriangleProcess.hlsl.meta
...r/Codes/GPURasterizer/Shaders/URTriangleProcess.hlsl.meta
+0
-0
URasterizer/Assets/URasterizer/Codes/GPURasterizer/Shaders/URVertexShader.hlsl
...asterizer/Codes/GPURasterizer/Shaders/URVertexShader.hlsl
+0
-0
URasterizer/Assets/URasterizer/Codes/GPURasterizer/Shaders/URVertexShader.hlsl.meta
...izer/Codes/GPURasterizer/Shaders/URVertexShader.hlsl.meta
+0
-0
URasterizer/Assets/URasterizer/Codes/JobRasterizer/JobRasterizer.cs
...r/Assets/URasterizer/Codes/JobRasterizer/JobRasterizer.cs
+1
-0
URasterizer/Assets/URasterizer/Codes/JobRasterizer/TriangleJob.cs
...zer/Assets/URasterizer/Codes/JobRasterizer/TriangleJob.cs
+4
-1
URasterizer/Assets/URasterizer/RenderingConfig.asset
URasterizer/Assets/URasterizer/RenderingConfig.asset
+1
-1
未找到文件。
URasterizer/Assembly-CSharp.csproj
浏览文件 @
082d2fed
...
...
@@ -36,6 +36,7 @@
<ImplicitlyExpandDesignTimeFacades>
false
</ImplicitlyExpandDesignTimeFacades>
</PropertyGroup>
<ItemGroup>
<Compile
Include=
"Assets\URasterizer\Codes\JobRasterizer\VertexJob.cs"
/>
<Compile
Include=
"Assets\URasterizer\Codes\Common\HandmakeMesh.cs"
/>
<Compile
Include=
"Assets\URasterizer\Codes\Common\FPSDisplay.cs"
/>
<Compile
Include=
"Assets\URasterizer\Codes\Common\ProfileManager.cs"
/>
...
...
@@ -43,6 +44,7 @@
<Compile
Include=
"Assets\URasterizer\Codes\CPURasterizer\FragmentShader.cs"
/>
<Compile
Include=
"Assets\URasterizer\Codes\JobRasterizer\TriangleJob.cs"
/>
<Compile
Include=
"Assets\URasterizer\Codes\Common\IRenderObjectData.cs"
/>
<Compile
Include=
"Assets\URasterizer\Codes\Common\URUtils.cs"
/>
<Compile
Include=
"Assets\URasterizer\Codes\JobRasterizer\JobRenderObjectData.cs"
/>
<Compile
Include=
"Assets\URasterizer\Codes\Common\CommonDef.cs"
/>
<Compile
Include=
"Assets\URasterizer\Codes\RenderingObject.cs"
/>
...
...
@@ -57,14 +59,12 @@
<Compile
Include=
"Assets\URasterizer\Codes\CPURasterizer\CPURasterizer.cs"
/>
<Compile
Include=
"Assets\URasterizer\Codes\GPURasterizer\GPURasterizer.cs"
/>
<Compile
Include=
"Assets\URasterizer\Codes\Common\TransformTool.cs"
/>
<Compile
Include=
"Assets\URasterizer\Codes\Common\URUtils.cs"
/>
<Compile
Include=
"Assets\URasterizer\Codes\JobRasterizer\VertexJob.cs"
/>
<None
Include=
"Assets\URasterizer\Shaders\URVertexShader.hlsl"
/>
<None
Include=
"Assets\URasterizer\Codes\GPURasterizer\Shaders\URVertexShader.hlsl"
/>
<None
Include=
"Assets\URasterizer\DefaultAssets\DefaultShader.shader"
/>
<None
Include=
"Assets\URasterizer\Shaders\URCommon.hlsl"
/>
<None
Include=
"Assets\URasterizer\Shaders\URTriangleProcess.hlsl"
/>
<None
Include=
"Assets\URasterizer\Shaders\URFragmentShader.hlsl"
/>
<None
Include=
"Assets\URasterizer\Shaders\URComputeShader.compute"
/>
<None
Include=
"Assets\URasterizer\
Codes\GPURasterizer\
Shaders\URCommon.hlsl"
/>
<None
Include=
"Assets\URasterizer\
Codes\GPURasterizer\
Shaders\URTriangleProcess.hlsl"
/>
<None
Include=
"Assets\URasterizer\
Codes\GPURasterizer\
Shaders\URFragmentShader.hlsl"
/>
<None
Include=
"Assets\URasterizer\
Codes\GPURasterizer\
Shaders\URComputeShader.compute"
/>
<Reference
Include=
"UnityEngine"
>
<HintPath>
C:\Program Files\Unity\Hub\Editor\Unity 2020.3.25f1c1\Editor\Data\Managed\UnityEngine\UnityEngine.dll
</HintPath>
</Reference>
...
...
URasterizer/Assets/Samples/Scenes/TestScene01.unity
浏览文件 @
082d2fed
...
...
@@ -405,7 +405,7 @@ PrefabInstance:
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
919132149155446097
,
guid
:
0b4771b06a3a8614b822c760aaba2a18
,
type
:
3
}
propertyPath
:
m_IsActive
value
:
0
value
:
1
objectReference
:
{
fileID
:
0
}
m_RemovedComponents
:
[]
m_SourcePrefab
:
{
fileID
:
100100000
,
guid
:
0b4771b06a3a8614b822c760aaba2a18
,
type
:
3
}
...
...
@@ -631,7 +631,7 @@ PrefabInstance:
objectReference
:
{
fileID
:
0
}
-
target
:
{
fileID
:
919132149155446097
,
guid
:
0b4771b06a3a8614b822c760aaba2a18
,
type
:
3
}
propertyPath
:
m_IsActive
value
:
0
value
:
1
objectReference
:
{
fileID
:
0
}
m_RemovedComponents
:
[]
m_SourcePrefab
:
{
fileID
:
100100000
,
guid
:
0b4771b06a3a8614b822c760aaba2a18
,
type
:
3
}
...
...
URasterizer/Assets/URasterizer/Codes/CPURasterizer/CPURasterizer.cs
浏览文件 @
082d2fed
...
...
@@ -662,6 +662,7 @@ namespace URasterizer
input
.
TextureData
=
ro
.
texture
.
GetPixelData
<
URColor24
>(
0
);
input
.
TextureWidth
=
ro
.
texture
.
width
;
input
.
TextureHeight
=
ro
.
texture
.
height
;
input
.
UseBilinear
=
_config
.
BilinearSample
;
input
.
LocalNormal
=
normal_p
;
input
.
WorldPos
=
worldPos_p
;
input
.
WorldNormal
=
worldNormal_p
;
...
...
URasterizer/Assets/URasterizer/Codes/CPURasterizer/FragmentShader.cs
浏览文件 @
082d2fed
using
System.Collections
;
using
System.Collections.Generic
;
using
UnityEngine
;
using
Unity.Collections
;
using
System.Runtime.CompilerServices
;
namespace
URasterizer
{
...
...
@@ -30,6 +30,7 @@ namespace URasterizer
public
NativeArray
<
URColor24
>
TextureData
;
//因为我们的纹理都是RGB格式的(24位),所以不能用Color32(32位)
public
int
TextureWidth
;
public
int
TextureHeight
;
public
bool
UseBilinear
;
}
public
struct
ShaderUniforms
...
...
@@ -54,36 +55,60 @@ namespace URasterizer
public
static
ShaderUniforms
Uniforms
;
public
static
RenderingConfig
Config
;
[
MethodImpl
(
MethodImplOptions
.
AggressiveInlining
)]
public
static
Color
FSVertexColor
(
FragmentShaderInputData
input
)
{
return
input
.
Color
;
}
[
MethodImpl
(
MethodImplOptions
.
AggressiveInlining
)]
static
Color
GetTextureColor
(
NativeArray
<
URColor24
>
textureData
,
int
w
,
int
h
,
int
x
,
int
y
)
{
int
tidx
=
y
*
w
+
x
;
URColor24
c
=
textureData
[
tidx
];
return
(
Color
)
c
;
}
[
MethodImpl
(
MethodImplOptions
.
AggressiveInlining
)]
public
static
Color
FSBlinnPhong
(
FragmentShaderInputData
input
)
{
Color
textureColor
;
int
w
=
input
.
TextureWidth
;
int
h
=
input
.
TextureHeight
;
int
x
=
(
int
)(
w
*
input
.
UV
.
x
);
int
y
=
(
int
)(
h
*
input
.
UV
.
y
);
int
tidx
=
y
*
w
+
x
;
URColor24
c
=
input
.
TextureData
[
tidx
];
Color
textureColor
=
(
URColor24
)
c
;
// if (input.Texture != null)
// {
// int w = input.Texture.width;
// int h = input.Texture.height;
// if (Config.BilinearSample)
// {
// textureColor = input.Texture.GetPixelBilinear(input.UV.x, input.UV.y);
// }
// else
// {
// textureColor = input.Texture.GetPixel((int)(w * input.UV.x), (int)(h * input.UV.y));
// }
// }
if
(
input
.
UseBilinear
)
{
float
u_img
=
input
.
UV
.
x
*
w
;
int
u_img_i
=
(
int
)(
u_img
);
int
u0
=
u_img
<
u_img_i
+
0.5
?
u_img_i
-
1
:
u_img_i
;
if
(
u0
<
0
)
u0
=
0
;
int
u1
=
u0
+
1
;
float
s
=
u_img
-
(
u0
+
0.5f
);
float
v_img
=
input
.
UV
.
y
*
h
;
int
v_img_i
=
(
int
)(
v_img
);
int
v0
=
v_img
<
v_img_i
+
0.5
?
v_img_i
-
1
:
v_img_i
;
if
(
v0
<
0
)
v0
=
0
;
int
v1
=
v0
+
1
;
float
t
=
v_img
-
(
v0
+
0.5f
);
var
color_00
=
GetTextureColor
(
input
.
TextureData
,
w
,
h
,
u0
,
v0
);
var
color_10
=
GetTextureColor
(
input
.
TextureData
,
w
,
h
,
u1
,
v0
);
var
color_0
=
Color
.
Lerp
(
color_00
,
color_10
,
s
);
var
color_01
=
GetTextureColor
(
input
.
TextureData
,
w
,
h
,
u0
,
v1
);
var
color_11
=
GetTextureColor
(
input
.
TextureData
,
w
,
h
,
u1
,
v1
);
var
color_1
=
Color
.
Lerp
(
color_01
,
color_11
,
s
);
textureColor
=
Color
.
Lerp
(
color_0
,
color_1
,
t
);
}
else
{
int
x
=
(
int
)(
w
*
input
.
UV
.
x
);
int
y
=
(
int
)(
h
*
input
.
UV
.
y
);
textureColor
=
GetTextureColor
(
input
.
TextureData
,
w
,
h
,
x
,
y
);
}
Color
ambient
=
Uniforms
.
AmbientColor
;
...
...
@@ -104,6 +129,7 @@ namespace URasterizer
return
ambient
+
diffuse
+
specular
;
}
[
MethodImpl
(
MethodImplOptions
.
AggressiveInlining
)]
public
static
Color
FSNormalVisual
(
FragmentShaderInputData
input
)
{
Vector3
tmp
=
input
.
LocalNormal
*
0.5f
+
new
Vector3
(
0.5f
,
0.5f
,
0.5f
);
...
...
URasterizer/Assets/URasterizer/Shaders.meta
→
URasterizer/Assets/URasterizer/
Codes/GPURasterizer/
Shaders.meta
浏览文件 @
082d2fed
文件已移动
URasterizer/Assets/URasterizer/Shaders/URCommon.hlsl
→
URasterizer/Assets/URasterizer/
Codes/GPURasterizer/
Shaders/URCommon.hlsl
浏览文件 @
082d2fed
文件已移动
URasterizer/Assets/URasterizer/Shaders/URCommon.hlsl.meta
→
URasterizer/Assets/URasterizer/
Codes/GPURasterizer/
Shaders/URCommon.hlsl.meta
浏览文件 @
082d2fed
文件已移动
URasterizer/Assets/URasterizer/Shaders/URComputeShader.compute
→
URasterizer/Assets/URasterizer/
Codes/GPURasterizer/
Shaders/URComputeShader.compute
浏览文件 @
082d2fed
文件已移动
URasterizer/Assets/URasterizer/Shaders/URComputeShader.compute.meta
→
URasterizer/Assets/URasterizer/
Codes/GPURasterizer/
Shaders/URComputeShader.compute.meta
浏览文件 @
082d2fed
文件已移动
URasterizer/Assets/URasterizer/Shaders/URFragmentShader.hlsl
→
URasterizer/Assets/URasterizer/
Codes/GPURasterizer/
Shaders/URFragmentShader.hlsl
浏览文件 @
082d2fed
文件已移动
URasterizer/Assets/URasterizer/Shaders/URFragmentShader.hlsl.meta
→
URasterizer/Assets/URasterizer/
Codes/GPURasterizer/
Shaders/URFragmentShader.hlsl.meta
浏览文件 @
082d2fed
文件已移动
URasterizer/Assets/URasterizer/Shaders/URTriangleProcess.hlsl
→
URasterizer/Assets/URasterizer/
Codes/GPURasterizer/
Shaders/URTriangleProcess.hlsl
浏览文件 @
082d2fed
文件已移动
URasterizer/Assets/URasterizer/Shaders/URTriangleProcess.hlsl.meta
→
URasterizer/Assets/URasterizer/
Codes/GPURasterizer/
Shaders/URTriangleProcess.hlsl.meta
浏览文件 @
082d2fed
文件已移动
URasterizer/Assets/URasterizer/Shaders/URVertexShader.hlsl
→
URasterizer/Assets/URasterizer/
Codes/GPURasterizer/
Shaders/URVertexShader.hlsl
浏览文件 @
082d2fed
文件已移动
URasterizer/Assets/URasterizer/Shaders/URVertexShader.hlsl.meta
→
URasterizer/Assets/URasterizer/
Codes/GPURasterizer/
Shaders/URVertexShader.hlsl.meta
浏览文件 @
082d2fed
文件已移动
URasterizer/Assets/URasterizer/Codes/JobRasterizer/JobRasterizer.cs
浏览文件 @
082d2fed
...
...
@@ -191,6 +191,7 @@ namespace URasterizer
triJob
.
TextureData
=
ro
.
texture
.
GetPixelData
<
URColor24
>(
0
);
triJob
.
TextureWidth
=
ro
.
texture
.
width
;
triJob
.
TextureHeight
=
ro
.
texture
.
height
;
triJob
.
UseBilinear
=
_config
.
BilinearSample
;
triJob
.
fsType
=
_config
.
FragmentShaderType
;
JobHandle
triHandle
=
triJob
.
Schedule
(
ro
.
jobData
.
trianglesData
.
Length
,
1
,
vsHandle
);
...
...
URasterizer/Assets/URasterizer/Codes/JobRasterizer/TriangleJob.cs
浏览文件 @
082d2fed
...
...
@@ -25,7 +25,9 @@ namespace URasterizer
[
ReadOnly
]
public
NativeArray
<
URColor24
>
TextureData
;
public
int
TextureWidth
;
public
int
TextureHeight
;
public
int
TextureHeight
;
public
bool
UseBilinear
;
public
ShaderType
fsType
;
...
...
@@ -258,6 +260,7 @@ namespace URasterizer
input
.
TextureData
=
TextureData
;
input
.
TextureWidth
=
TextureWidth
;
input
.
TextureHeight
=
TextureHeight
;
input
.
UseBilinear
=
UseBilinear
;
input
.
LocalNormal
=
normal_p
;
input
.
WorldPos
=
worldPos_p
;
input
.
WorldNormal
=
worldNormal_p
;
...
...
URasterizer/Assets/URasterizer/RenderingConfig.asset
浏览文件 @
082d2fed
...
...
@@ -14,7 +14,7 @@ MonoBehaviour:
m_EditorClassIdentifier
:
ClearColor
:
{
r
:
0.4716981
,
g
:
0.4716981
,
b
:
0.4716981
,
a
:
0.72156864
}
AmbientColor
:
{
r
:
0.0754717
,
g
:
0.0754717
,
b
:
0.0754717
,
a
:
1
}
RasterizerType
:
0
RasterizerType
:
1
UseUnityNativeRendering
:
0
WireframeMode
:
0
FrustumCulling
:
1
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录