updated PureColor2D material codes
This commit is contained in:
parent
fa7ecb91ac
commit
6b498d7e91
2
CMCore
2
CMCore
@ -1 +1 @@
|
||||
Subproject commit fbe4815c748346fae03d08bed7d228f45f02ac79
|
||||
Subproject commit 462f0792835cc5022771a3594e312efa365a5fae
|
@ -1 +1 @@
|
||||
Subproject commit f5cfe02eed045d84ee03a9e32d62029c71fec530
|
||||
Subproject commit 95ed7ae08b3c50055d2a162e22585c7c1cefc763
|
@ -13,38 +13,40 @@ endmacro()
|
||||
CreateProject("Basic" 1st_draw_triangle_in_NDC first_triangle.cpp)
|
||||
CreateProject("Basic" 2nd_draw_triangle_use_UBO second_triangle.cpp)
|
||||
CreateProject("Basic" 3rd_draw_triangle_use_RenderList third_triangle.cpp)
|
||||
CreateProject("Basic" FragCoord FragCoordTest.cpp)
|
||||
CreateProject("Basic" indices_rect indices_rect.cpp)
|
||||
CreateProject("Basic" FullScreenTriangle FullScreenTriangle.cpp)
|
||||
CreateProject("Basic" InstanceTriangle InstanceTriangle.cpp)
|
||||
CreateProject("Basic" 4th_draw_triangle_use_MaterialInstance fourth_triangle.cpp)
|
||||
|
||||
#CreateProject("Basic" FragCoord FragCoordTest.cpp)
|
||||
#CreateProject("Basic" indices_rect indices_rect.cpp)
|
||||
#CreateProject("Basic" FullScreenTriangle FullScreenTriangle.cpp)
|
||||
#CreateProject("Basic" InstanceTriangle InstanceTriangle.cpp)
|
||||
|
||||
CreateProject("Texture" TextureFormat TextureFormat.cpp)
|
||||
CreateProject("Texture" texture_rect texture_rect.cpp)
|
||||
#CreateProject("Texture" texture_rect texture_rect.cpp)
|
||||
#CreateProject("Texture" HQFilterTexture HQFilterTexture.cpp)
|
||||
#CreateProject(06.Geometry2D Geometry2D.cpp)
|
||||
|
||||
CreateProject("Geometry2D" RectanglePrimitive RectanglePrimitive.cpp)
|
||||
CreateProject("Tile" DrawTile DrawTile.cpp)
|
||||
CreateProject("Tile" DrawText DrawText.cpp)
|
||||
#CreateProject("Geometry2D" RectanglePrimitive RectanglePrimitive.cpp)
|
||||
#CreateProject("Tile" DrawTile DrawTile.cpp)
|
||||
#CreateProject("Tile" DrawText DrawText.cpp)
|
||||
|
||||
CreateProject("Geometry3D " Geometry3D Geometry3D.cpp)
|
||||
#CreateProject("Geometry3D " Geometry3D Geometry3D.cpp)
|
||||
|
||||
CreateProject("Scene" SceneTree SceneTree.cpp)
|
||||
#CreateProject("Scene" SceneTree SceneTree.cpp)
|
||||
#CreateProject("Scene" LoadStaticMesh LoadStaticMesh.cpp LoadScene.cpp)
|
||||
CreateProject("Scene" InlineGeometryScene InlineGeometryScene.cpp)
|
||||
#CreateProject("Scene" InlineGeometryScene InlineGeometryScene.cpp)
|
||||
|
||||
CreateProject("Scene/Sky" SkyColor SkyColor.cpp)
|
||||
CreateProject("Scene/Sky" Atmosphere Atmosphere.cpp)
|
||||
#CreateProject("Scene/Sky" SkyColor SkyColor.cpp)
|
||||
#CreateProject("Scene/Sky" Atmosphere Atmosphere.cpp)
|
||||
|
||||
CreateProject("Advanced Rendering" OffscreenRender OffscreenRender.cpp)
|
||||
#CreateProject("Advanced Rendering" OffscreenRender OffscreenRender.cpp)
|
||||
|
||||
#CreateProject(12.PBRBasic PBRBasic.cpp)
|
||||
#CreateProject(12.Deferred Deferred.cpp)
|
||||
CreateProject("Advanced Rendering" DeferredRender DeferredRender.cpp)
|
||||
#CreateProject("Advanced Rendering" DeferredRender DeferredRender.cpp)
|
||||
#CreateProject(14.AutoMaterial auto_material.cpp)
|
||||
|
||||
CreateProject("Texture" Cubemap Cubemap.cpp)
|
||||
CreateProject("Texture" EquirectangularMap EquirectangularMap.cpp)
|
||||
CreateProject("Picking" RayPicking RayPicking.cpp)
|
||||
#CreateProject("Texture" Cubemap Cubemap.cpp)
|
||||
#CreateProject("Texture" EquirectangularMap EquirectangularMap.cpp)
|
||||
#CreateProject("Picking" RayPicking RayPicking.cpp)
|
||||
|
||||
CreateProject("Landscape" TerrainSimple TerrainSimple.cpp)
|
||||
#CreateProject("Landscape" TerrainSimple TerrainSimple.cpp)
|
||||
|
@ -1,5 +1,5 @@
|
||||
// third_triangle
|
||||
// 该范例主要演示使用2D坐系统直接绘制一个渐变色的三角形
|
||||
// second_triangle
|
||||
// 该范例主要演示使用2D坐系统直接绘制一个渐变色的三角形,使用UBO传递Viewport信息
|
||||
|
||||
#include"VulkanAppFramework.h"
|
||||
#include<hgl/math/Math.h>
|
||||
|
@ -1,4 +1,4 @@
|
||||
// second_triangle
|
||||
// third_triangle
|
||||
// 该范例主要演示使用场景树系统绘制三角形
|
||||
|
||||
#include"VulkanAppFramework.h"
|
||||
|
@ -25,5 +25,6 @@ public:
|
||||
};//struct Material2DConfig:public MaterialConfig
|
||||
|
||||
MaterialCreateInfo *CreateVertexColor2D(const Material2DConfig *);
|
||||
MaterialCreateInfo *CreatePureColor2D(const Material2DConfig *);
|
||||
STD_MTL_NAMESPACE_END
|
||||
#endif//HGL_GRAPH_MTL_2D_CONFIG_INCLUDE
|
||||
|
@ -1,9 +1,13 @@
|
||||
#include"Std2DMaterial.h"
|
||||
#include<hgl/shadergen/MaterialCreateInfo.h>
|
||||
#include<hgl/math/Vector.h>
|
||||
|
||||
STD_MTL_NAMESPACE_BEGIN
|
||||
namespace
|
||||
{
|
||||
constexpr const char mi_codes[]="vec4 Color;"; //材质实例代码
|
||||
constexpr const uint32_t mi_bytes=sizeof(Vector4f); //材质实例数据大小
|
||||
|
||||
constexpr const char vs_main[]=R"(
|
||||
void main()
|
||||
{
|
||||
@ -13,20 +17,26 @@ void main()
|
||||
})";
|
||||
|
||||
constexpr const char fs_main[]=R"(
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
MaterialInstance mi=GetMI();
|
||||
|
||||
Color=mi.Color;
|
||||
})";
|
||||
})";// ^ ^
|
||||
// | |
|
||||
// | +--ps:这里的mi.Color是材质实例中的数据,MaterialInstance结构对应上面C++代码中的mi_codes
|
||||
// +--ps:这里的Color就是最终的RT
|
||||
|
||||
class MaterialPureColor2D:public Std2DMaterial
|
||||
{
|
||||
public:
|
||||
|
||||
using Std2DMaterial::Std2DMaterial;
|
||||
MaterialPureColor2D(const Material2DConfig *c):Std2DMaterial(c)
|
||||
{
|
||||
mci->SetMaterialInstance( mi_codes, //材质实例glsl代码
|
||||
mi_bytes, //材质实例数据大小
|
||||
VK_SHADER_STAGE_FRAGMENT_BIT); //只在Fragment Shader中使用材质实例最终数据
|
||||
}
|
||||
~MaterialPureColor2D()=default;
|
||||
|
||||
bool CreateVertexShader(ShaderCreateInfoVertex *vsc) override
|
||||
|
@ -19,7 +19,10 @@ void main()
|
||||
void main()
|
||||
{
|
||||
Color=Input.Color;
|
||||
})";
|
||||
})";// ^ ^
|
||||
// | |
|
||||
// | +--ps:这里的Input.Color就是上一个Shader中的Output.Color
|
||||
// +--ps:这里的Color就是最终的RT
|
||||
|
||||
class MaterialVertexColor2D:public Std2DMaterial
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user