Forwarded from Deleted Account
راستی سنتر را بعدا مقدار میدیم که ببینید هر دو جا میشه مقدار داد
Forwarded from Kamali
#define PI 3.14
//create a 2-D disk on the screen
vec3 disk(vec2 resolution, vec2 center, float radius, vec3 color) {
if( length(resolution-center) < radius) {
return color;
}
}
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 uv = fragCoord.xy / iResolution.xy;
vec2 resolution = 2.0*vec2(fragCoord.xy - 0.5*iResolution.xy)/iResolution.y; //move coordinates to center of frame
float radius = 0.2;
vec3 color = vec3 (0.8,0.0,0.8);
vec2 movement = vec2(0.0,0.0);
vec3 result = disk(resolution,movement,radius,color);
fragColor = vec4(result, 1.0);
}
//create a 2-D disk on the screen
vec3 disk(vec2 resolution, vec2 center, float radius, vec3 color) {
if( length(resolution-center) < radius) {
return color;
}
}
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 uv = fragCoord.xy / iResolution.xy;
vec2 resolution = 2.0*vec2(fragCoord.xy - 0.5*iResolution.xy)/iResolution.y; //move coordinates to center of frame
float radius = 0.2;
vec3 color = vec3 (0.8,0.0,0.8);
vec2 movement = vec2(0.0,0.0);
vec3 result = disk(resolution,movement,radius,color);
fragColor = vec4(result, 1.0);
}
Forwarded from Kamali
تو کتاب The Book of shader یه جاش نوشته که بهتره از تابع های Built-in استفاده بشه تا اینکه از شرط ها استفاده کنیم
Forwarded from Kamali
#define PI 3.14
//create a 2-D disk on the screen
vec3 disk(vec2 resolution, vec2 center, float radius, vec3 color) {
float a = step( length(resolution-center) , radius);
return vec3(a,a,a) * color;
}
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 uv = fragCoord.xy / iResolution.xy;
vec2 resolution = 2.0*vec2(fragCoord.xy - 0.5*iResolution.xy)/iResolution.y; //move coordinates to center of frame
float radius = 0.2;
vec3 color = vec3 (0.8,0.0,0.8);
vec2 movement = vec2(0.0,0.0);
vec3 result = disk(resolution,movement,radius,color);
fragColor = vec4(result, 1.0);
}
//create a 2-D disk on the screen
vec3 disk(vec2 resolution, vec2 center, float radius, vec3 color) {
float a = step( length(resolution-center) , radius);
return vec3(a,a,a) * color;
}
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 uv = fragCoord.xy / iResolution.xy;
vec2 resolution = 2.0*vec2(fragCoord.xy - 0.5*iResolution.xy)/iResolution.y; //move coordinates to center of frame
float radius = 0.2;
vec3 color = vec3 (0.8,0.0,0.8);
vec2 movement = vec2(0.0,0.0);
vec3 result = disk(resolution,movement,radius,color);
fragColor = vec4(result, 1.0);
}
Kamali
شیدر نویسی با طعم یونیتی.pdf
یکی از دوستان یک جمله رو از این مقاله اصلاح کردند
درمورد smoothstep
اگر x کوچک تر از low باشه 0 رو بر می گردونه و اگر از high بزرگ تر باشه 1 رو بر می گردونه
درمورد smoothstep
اگر x کوچک تر از low باشه 0 رو بر می گردونه و اگر از high بزرگ تر باشه 1 رو بر می گردونه
Forwarded from Kamali
دوستان امروز چندتا چیز مفید پیدا کردم
اولیش درمورد رسم شکل های سه بعدی توی ShaderToy هست
ما قراره جلوتر بریم تو کار ولومتریک پس باید اول بتونیم شکل های سه بعدی رو رسم کنیم
اولیش درمورد رسم شکل های سه بعدی توی ShaderToy هست
ما قراره جلوتر بریم تو کار ولومتریک پس باید اول بتونیم شکل های سه بعدی رو رسم کنیم
Forwarded from Kamali
Gdcvault
Technical Artist Bootcamp: Shaders 101: Foundational Shader Concepts for Tech Artists
This session will introduce new tech artists and students to the exciting world of shader creation and the art of creating beautiful pixels. No previous shader or programming experience is required. The session will start with basic concepts,...