2022-10-26 02:14:43 +08:00
|
|
|
//#version 450
|
|
|
|
//
|
|
|
|
//layout(local_size_x = 16, local_size_y = 16) in;
|
|
|
|
//layout(set = 4, binding = 0, rgba8) uniform image2D targetImage;
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//void main()
|
|
|
|
//{
|
|
|
|
// ivec2 imageSize = imageSize (targetImage);
|
|
|
|
//
|
|
|
|
// if (gl_GlobalInvocationID.x >= imageSize.x && gl_GlobalInvocationID.y >= imageSize.y)
|
|
|
|
// return;
|
|
|
|
//
|
|
|
|
// // load the image
|
|
|
|
// vec4 color = imageLoad (targetImage, ivec2 (gl_GlobalInvocationID));
|
|
|
|
//
|
|
|
|
// // get the average
|
|
|
|
// float average = 0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b;
|
|
|
|
//
|
|
|
|
// // store result into result image
|
|
|
|
// imageStore(targetImage, ivec2(gl_GlobalInvocationID), vec4(average, average, average, 1.0f));
|
|
|
|
//
|
|
|
|
//}
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
|
|
|
|
/* Start Header *****************************************************************/
|
|
|
|
|
|
|
|
/*! \file (e.g. kirsch.comp)
|
|
|
|
|
|
|
|
\author William Zheng, william.zheng, 60001906. Brandon Mak, brandon.hao 390003920.
|
|
|
|
|
|
|
|
\par william.zheng\@digipen.edu. brandon.hao\@digipen.edu.
|
|
|
|
|
|
|
|
\date Sept 20, 2022
|
|
|
|
|
|
|
|
\brief Copyright (C) 20xx DigiPen Institute of Technology.
|
|
|
|
|
|
|
|
Reproduction or disclosure of this file or its contents without the prior written consent of DigiPen Institute of Technology is prohibited. */
|
|
|
|
|
|
|
|
/* End Header *******************************************************************/
|
|
|
|
|
|
|
|
#version 450
|
|
|
|
|
|
|
|
|
|
|
|
layout(local_size_x = 16, local_size_y = 16) in;
|
2022-12-28 20:47:20 +08:00
|
|
|
layout(set = 3, binding = 0, rgba8) uniform image2D inputImage;
|
|
|
|
layout(set = 3, binding = 1, rgba8) uniform image2D targetImage;
|
2022-10-26 02:14:43 +08:00
|
|
|
|
|
|
|
|
|
|
|
void main()
|
|
|
|
{
|
|
|
|
// convenient variables
|
|
|
|
ivec2 globalThread = ivec2(gl_GlobalInvocationID);
|
|
|
|
|
|
|
|
vec3 color = imageLoad (inputImage, globalThread).rgb;
|
|
|
|
|
|
|
|
// store result into result image
|
|
|
|
imageStore(targetImage, ivec2(gl_GlobalInvocationID.xy), vec4(color, 1.0f));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|