ورود

View Full Version : بهینه سازی در glsl



UfnCod3r
یک شنبه 02 تیر 1392, 17:53 عصر
سلام من ی چند تا سوال متفرقه دارم
ینی میشه کسی جواب بده :کف:

مثلا ما تو glsl ی چنین چیزی می نویسم



#version 330

in vec3 iPos;
in vec3 iNormal;

uniform mat4 uModel;
uniform mat4 uView;
uniform mat4 uProj;

uniform vec3 uSunDir;

void main()
{
mat4 mvp = uProj * uView * uModel;
gl_Position = mvp * vec4(iPos, 1.0);
vec3 normal = normalize(mat3(uModel) * iNormal);
flt f = dot(normal, -uSunDir);
//...
}

واسه هر راس هر دفعه uProj * uView * uModel ضرب میشه یا اینکه خودش می فهمه و فقط ی بار ضرب می کنه و هر دفعه استفاده می کنه:متفکر:
یا مثلا uSunDir- ب تعداد راس ها عمل منفی کردن انجام میشه؟
:متفکر:

برنامه ای هست ک بشه کدهای نهایی تولید شده رو نشون بده؟

amin1softco
یک شنبه 02 تیر 1392, 18:57 عصر
به نظرم برای هر راس این عملیات ضرب انجام بشه
بله


فک کنم یکبار نیما gDebuger را معرفی کرد فک کنم مشکل شما را حل کنه ببنید چطوری کد هاتون دارند کار می کنند :
http://www.gremedy.com/

برای اینکه یک محیط ide برای طرای شیدر ها داشته باشید لینک های زیر را چک کنید
render monkey و shader designer برای نسخه های 2.1 مناسب هستند برای 3 به بالا کاربرد ندارند :
https://developer.nvidia.com/fx-composer
http://syntopia.github.com/Fragmentarium/
http://wwwvis.informatik.uni-stuttgart.de/glsldevil/index.html#usage
http://cg.in.tu-clausthal.de/teaching/shader_maker/index.shtml
http://sourceforge.net/projects/lumina/files/
http://www.kickjs.org/example/shader_editor/shader_editor.html
http://web.engr.oregonstate.edu/~mjb/glman/ (http://web.engr.oregonstate.edu/%7Emjb/glman/)
http://www.iquilezles.org/apps/shadertoy/
http://www.lighthouse3d.com/opengl/tools.shtml
http://code.google.com/p/qshaderedit/

UfnCod3r
یک شنبه 02 تیر 1392, 22:40 عصر
نیما کیه :متفکر::لبخند:
gDebuger رو دارم اون این کاری ک من می خوامو نمی کنه
من می خوام کد سطح پایینی ک برا جی پی یو تولید میشه رو ببینم
این فکر کنم خوب باشه
http://developer.amd.com/tools-and-sdks/graphics-development/gpu-shaderanalyzer/#download

برا شیدر نوشتن shader designer که برام اجرا نشد فکر کنم با 64 بیتی مشکل داره
render monkey و خیلی های دیگه هم دانلود کردم یا برا نسخه های قدیمی اپن جی ال بودن یا glsl ساپورت نمی کنن:ناراحت:
این لینکا ک دادی رو بررسی می کنم شاید ی خوب پیدا بشه