تبلیغات

نسل باران

|

بانک شماره و موبایل popup window

قالب های حرفه ای وردپرس

|

پلاگین وردپرس popup window

وب سایت دانشجویان کارشناسی و ارشد کامپیوتر خرم آباد - مطالب اردیبهشت 1391
نسل باران
وب سایت دانشجویان کارشناسی و ارشد کامپیوتر خرم آباد
امام علی (ع) می فرمایند: « زکات العلم نشرهُ» زکات علم نشر آن است.
به سایت ما خوش آمدید

1- تابع glGenTextures(n,*textures);: این تابع نام بافت هاراتولیدمیکند. آرگومان n، تعدادنام بافتهایی است که بایدتولید شوندوآرگومان textures ،    اشاره گری است به اولین عنصرآرایه ای که نام بافتهارادرخودذخیره کرده است.

2- تابع gluNewQudric : یک شئ درجه دوم خلق میکندو اشاره گری رابه شئ ایجادشده بازمیگرداند.

3- تابع gluDeleteQuadric(*state): شئ درجه دوم راتخریب کرده وحافظه تخصیص یافته شده توسط آنرا آزاد مینماید.

    آرگومان state: شئ درجه دومی است که باید تخریب شود.

4- تابع gluQuadricNormals(*qobj,normals);: معین میکندکه چه نوع بردار نرمالی بایدبرای شئ درجه دوم بکاررود.

آرگومان qobj: شئ درجه دومی است که توسط تابع gluNewQuadric ایجادگردیده است.

normals: نوع بردار نرمال موردنیازاست. مقادیر زیر مجازهستند:

GLU_NONE: بردارنرمالی تولیدنمیشود.

GLU_FLAT: یک بردار نرمال به ازای هروجه شئ درجه دوم تعریف میشود.

GLU_SMOOTH: یک بردار نرمال به ازای هرراس یک شئ درجه دوم تولید میگردد.

5- تابعgluQuadricTexture(*quadObject,textureCoords);: معین میسازدکه بایدروی کدام شئ درجه دوم ، نگاشت بافتی صورت گیرد.

آرگومان quadObject: شئ درجه دومی است که توسط تابع gluNewQuadric ایجادگردیده است.

textureCoord: پرچمی است که ایجادویاعدم ایجادمختصات بافتی رامعین نموده ومقادیرزیررامیپذیرد:

GLU_TRUE: مختصات بافتی تولید میشود.

GLU_FALSE: مختصات بافتی تولید نمیشود.

6- تابع gluQuadricOrientation(*quadObject,orientation);: جهت روبه درون ویاروبه خارج بودن بردارهای نرمال شئ درجه دوم را معین میکند.

آرگومان quadObject: شئ درجه دومی است که توسط تابع gluNewQuadric ایجادگردیده است.

Orientation: جهت موردنیازرامشخص میکندومقادیرزیربرای آن مجازهستند.

GLU_OUTSIDE: شئ درجه دومی راترسیم میکندکه بردارهای نرمال آن روبه خارج آن اشاره مینمایند.

GLU_INSIDE: شئ درجه دومی راترسیم میکند که بردارهای نرمال آن روبه درون آن اشاره مینمایند.

7- تابعgluQuadricDrawStyle(*qobj,drawStyle);: شیوه ترسیم شئ درجه دوم را معین میکند.

آرگومان qobj: شئ درجه دومی است که توسط تابع gluNewQuadric ایجادگردیده است.

drawStyle: شیوه ترسیم موردنیازاست ویکی ازمقادیرزیرمیتواندباشد:

GLU_FILL: اشیاء درجه دوم توسط چندضلعی هاترسیم خواهندشد. چندضلعی ها درخلاف عقربه های ساعت ترسیم میشوند.

GLU_LINE: اشیاء درجه دوم توسط خطوط ترسیم خواهندشد.

GLU_SILHOUETTE: اشیاء درجه دوم توسط مجموعه ای از خطوط ترسیم خواهند شد.

GLU_POINT: اشیاء درجه دوم توسط مجموعه ای ازنقاط ترسیم خواهند شد.

8- تابع gluSphere(*qobj,radius,slices,stacks);: یک کره رابه مرکز مبدا حول z ترسیم مینماید.

آرگومان qobj: شئ درجه دومی است که توسط تابع gluNewQuadric ایجادگردیده است.

radius: شعاع کره.

slices: تعدا تقسیمهای فرعی درطول محور z.(مشابه خطوط طولی)

stacks: تعدا تقسیمهای فرعی حول محور z.(مشابه خطوط عرضی)

نکته: هرچه تعدادتقسیمات فرعی بیشترباشد، شئ باجزئیات بیشتری ترسیم میشود.

9- تابع

gluCylinder(*qobj,baseRadius,topRadius,height,slices,stacks): یک استوانه رادرامتدادمحور z ترسیم میکند. قائده آن در z=0 قرار داردوراس آن درz=Height.

آرگومان qobj: شئ درجه دومی است که توسط تابع gluNewQuadric ایجادگردیده است.

baseRadius: شعاع استوانه درصفحهz=0  .

topRadius: شعاع استوانه در z=Height .

Height: ارتفاع استوانه.

slices: تعدا تقسیمهای فرعی درطول محور z.(مشابه خطوط طولی)

stacks: تعدا تقسیمهای فرعی حول محور z.(مشابه خطوط عرضی)

      10- تابع gluDisk(*qobj,innerRadius,outerRadius,slices,loops);       یک قرص رادرصفحه z=0 رسم میکند.

آرگومان qobj: شئ درجه دومی است که توسط تابع gluNewQuadric ایجادگردیده است.

innerRadius: شعاع داخلی قرص.

outerRadius: شعاع خارجی قرص.

slice: تعدا تقسیمهای فرعی درطول محور z.(مشابه خطوط طولی)

Loops: تعدادحلقه های هم مرکز.

      11- تابع

gluPartialDisk(*qobj, innerRadius,     

 outerRadius,slices,loops,startAngle,sweepAngle);    

     قوسی ازیک قرص راروی صفحه z=0 رسم مینماید.

آرگومان qobj: شئ درجه دومی است که توسط تابع gluNewQuadric ایجادگردیده است.

innerRadius: شعاع داخلی قرص.

outerRadius: شعاع خارجی قرص.

slice: تعدا تقسیمهای فرعی درطول محور z.(مشابه خطوط طولی)

Loops: تعدادحلقه های هم مرکز.

startAngle: زاویه آغازین، قوس به درجه.

sweepAngle: زاویه روبنده قرص به درجه.(اندازه ای از قرص که انتخاب میشود.)

 

برای هر نوع سئوال به pcs1390@yahoo ایمیل بزنید.





نوع مطلب : آموزشی، گرافیک کامپیوتری، opengl، 
برچسب ها :
لینک های مرتبط :

21- تابع glShadeModel: آرگومانهای ورودی آن GL_SMOOTH و GL_FLAT هستندکه در نکته آورده شده اند، مقدارپیش فرض GL_SMOOTH  است.

22- تابع glDepthFunc(func);: این تابع نقاط واشیائی رارندرمیکندکه نسبت به مقادیرz بافر، حالت func راداشته باشند. Funcمساوی مقادیرزیراست:

GL_LESS: کمتر(مقدار پیش فرض) ، GL_LEQUAL: بزرگتریامساوی ، GL_EQUAL: مساوی ، GL_GREATER: بیشتر ، GL_NOTEQUAL: مخالف ، GL_GEQUAL: بزرگتریامساوی ، GL_ALWAYS: همواره پذیرفته میشود و GL_NEVERهرگز پذیرفته نمیشود.

این تابع مقدارZ نقطه درحال رسم رابامقدار Z موجوددر عمق بافر مقایسه میکند ودرصورت برآورده شدن شرط مقایسه ، نقطه نمایش داده خواهد شدویاخیر. البته این حالت توسط دستور glEnable(GL_DEPTH_TEST) فعال میشود.

23- تابع glClearDepth: این تابع مقدار پاک شدن عمق بافررا معین میسازد. آرگومان ورودی آن بین صفرویک قراردارد.مقدار پیش فرض یک میباشد.

24- تابع glRotatef(angle , x , y , z);: این دستور ماتریس جاری رادر ماتریس دوران ضرب میکند. angle: زاویه دوران درخلاف عقربه های ساعت و به درجه میباشد.x ، y وz مختصات برداری هستند که دوران حول آن صورت میگیرد. بدین وسیله کل صحنه دوران خواهدیافت. زاویه دوران بین صفرو 395 قراردارد.

25- تابع glScalef: این دستور ماتریس جاری را در ماتریس مقیاس ضرب میکند.اینکار روی تمام نقاط اشیاء مطابق با آرگومانهای آن صورت میگیرد.

26- توابع glNormal3f(nx , ny , nz); و glNormal3fv(*v);: بردار نرمال جاری راتنظیم میکند. nx و ny و nz مختصات بردار جدید هستند. درحالت fv ، آرگومان v اشاره گری است به آرایه ای ازسه عنصریادشده.

27- توابع glMaterialf(face , pname , params); و glMaterialfv(face , pname,*params);

این توابع پارامترهای ماده رابرای مدل نورپردازی تعیین میکنند.

28- تابع glColorMaterial(face,mode);: این تابع سبب میگرددتارنگ ماده رنگ جاری راپیگیری کند.

29- تابع gluLookAt(eyex,eyey,eyez,centerx,centery,centerz,upx,upy,upz);:

ماتریس انتقال دیدراتعریف میکند.





نوع مطلب : آموزشی، گرافیک کامپیوتری، opengl، 
برچسب ها :
لینک های مرتبط :

11- تابع glViewport: برای انتخاب ناحیه دید استفاده میشود.

12- تابع glTranslatef: این تابع ماتریس جاری رادر ماتریس انتقال ضرب میکند.x ، y و z مختصات بردار انتقال هستند.

برای مثال تابع glTranslatef(-1,0,-6); سبب حرکت به اندازه 1 واحد به سمت چپ ، 6 واحد به سمت داخل صفحه و هیچ حرکتی روی محور y میشود، حرکت از محلی است که هم اکنون شی ای در آنجا ترسیم گشته است.

نکته: OpenGL از ماتریس های زیادی از جمله Projection برای انتقال یک نقطه، قبل از نمایش آن روی صفحه، استفاده میکند. ماتریس Projection چگونگی گرفتن یک نقطه از دنیای سه بعدی وقرار دادن آن روی یک صفحه دوبعدی را بیان میکند.

13- توابع glRectf(x1,y1,x2,y2) وglRectfv(*v1,*v2): این تابع برای ترسیم یک مستطیل بکارمیرود. x1,y1 و x2,y2 رئوس درجهت مخالف هم هستند. v1 وv2 اشاره گرهایی هستند به رئوس مخالف مستطیل.

14- تابع glPointSize : قطر یک نقطه را معین میکند. مقدار پیشفرض یک میباشد.

15- تابع glLineWidth : ضخامت خط را معین میسازد. مقدار پیشفرض آن یک میباشد.

16- glLineStipple : الگوی سایه زدن خط را معین میکند.

17- glPolygonStipple(*mask) : الگوی سایه زدن یک چندضلعی رامعین میسازد. mask اشاره گری است به یک الگوی 32*32  بیتی. قبل ازبکارگیری تابع بایداین حالت را بوسیله دستور glEnable(GL_POLYGON_STIPPLE); فعال نمود.

18- تابع glGetError : پس از فراخوانی دستورات OpenGL بااستفاده از تابع glGetError می توان ازایجاد ویا عدم ایجاد خطا اطمینان حاصل کرد.

نکته : رنگ آمیزی Flat سبب ایجادرنگی توپر (Solid) میشود. رنگ آمیزی Smooth سبب اختلاط (Blending) سه رنگ مشخص شده درهرنقطه (راس) یک مثلث باهم گشته وجلوه ای زیبا را پدید می آورد.

نکته: برای اجتناب از چشمک زدن (Flickering) صفحه به هنگام پویانمایی باید ازپرچم PFD_DOUBLEBUFFER نیزدربرپایی فرمت نقطه ای استفاده شود، در این حالت دیگر تابع glFlush برای نمایش دادن اشکال ترسیم شده کارساز نبوده وباید از دستورقدرتمندتری مانند SwapBuffers(wglGetCurrentDC); استفاده شود.

19- تابع gluPerspective(fovy , aspect , zNear , zFar): این تابع ماتریس تصویر کردن (Projection) سه بعدی را تنظیم میکند. fovy : زاویه میدان دید درجهت Y وبه درجه میباشد.aspectمیدان دیدرا درجهت xمعین میکند. این مقدار مساوی نسبت عرض به ارتفاع میباشد. zNear : فاصله بیننده تا صفحه نزدیک برش ، که همواره مثبت است. zFar: فاصله بیننده تا صفحه برش دور، که همواره منفی است.

20- تابع glHint(target , mode);: بعضی از جنبه های خاص OpenGL راکنترل میکند. پارامتر target معین میکند که کدام رفتار بایدکنترل شودوپارامتر mode رفتار موردنظر را مشخص میکند. هردوآرگومان بوسیله مقادیرثابت زیرتعریف شده اند:

Target:

GL_POINT_SMOOTH_HINT: کیفیت نقاط رادرهنگام نمایش مشخص میکند.

GL_LINE_SMOOTH_HINT: کیفیت خطوط رادرهنگام نمایش مشخص میکند.

GL_POLYGON_SMOOTH_HINT: کیفیت چندضلعی ها رادرهنگام نمایش مشخص میکند.

GL_FOG_HINT: میزان دقت درمحاسبه میزان مه را معین مینماید. محاسبات مربوط به مه را به ازای هرنقطه ویاهرراس انجام میدهد.

GL_PERSPECTIVE_CORRECTION_HINT: کیفیت رنگ وبافت مختصات موردنظررا تعیین میکند.

Mode:

GL_FASTEST: کارآمدترین گزینه راانتخاب میکند.

GL_NICEST: باکیفیت ترین گزینه را انتخاب میکند.

GL_DONT_CARE: هیچگونه برتری را تعیین نمیکند.


گردآورنده : s1390.mihanblog.com





نوع مطلب : آموزشی، گرافیک کامپیوتری، opengl، 
برچسب ها :
لینک های مرتبط :


دستورات opengl  باپیشوند gl  شروع وبا یک حرف بزرگ ادامه می یابندمانند glEnd() .

توابعی که دراین کتابخانه وجوددارندبا GL_ شروع می شوند وتمام حروف آنها بزرگ است مانند GL_COLOR_BUFFER_BIT.

بعضی از دستورات opengl با یک عدد ویک، دو یا سه حرف درانتها ، برای یاداوری تعدادونوع آرگومانهای ورودی،خاتمه می یابند. برای مثال دردستور glVertex3fv() ،  ‘3’ به معنای وجود سه آرگومان ورودی ،’f’ به معنای اعشاری بودن آنها و’v’ به معنای این است که آرگومانها به فرم برداری هستند.

تعداد آرگومانها میتوانند 3,2 یا 4 عدد باشند.

فرمت:

‘v’ : بیانگرفرمت برداری است.

غیاب ‘v’ به معنای فرمت اسکالر می باشد.

توابع:

1- تابعglClearColor : این تابع رنگ پاک کننده جاری صفحه را به مقدار RGBA داده شده تنظیم می کند.مقادیر قرمز (R) ، سبز(G) ، آبی (B) و آلفا (A) (شفافیت) دربازه صفرویک قرار دارند. رنگ پیش فرض معادل (0,0,0,0)   می باشد (مشکی). صفر ، تاریک ترین و یک ، روشن ترین است. با ترکیب شدتهای مختلف سه رنگ قرمز ، سبزوآبی ، رنگ های بیشماری را می توان تولید کرد.

2- تابع  glClear : بافر همواره باید قبل از ترسیم صحنه پاک شود. زیرا مقادیر رنگ هرنقطه در بافر ذخیره می شوند. این تابع بافر Mask را پاک میکند. Mask یکی از مقادیر زیر ویا ترکیبی از آنها میتواند باشد:

بافر رنگی : GL_COLOR_BUFFER_BIT

بافر عمق : GL_DEPTH_BUFFER_BIT

بافر انباشتگی : GL_ACCUM_BUFFER_BIT

بافر استنسیل : GL_STENCIL_BUFFER_BIT

بافراخوانی تابع فوق تصویردرحال نمایش حفظ شده وتنها بافریابافرهایی که بعنوان آرگومان به تابع معرفی می شوند،پاک میگردند. به طور معمول ابتدا تابع glClearColor فراخوانی می شود وسپس این تابع ، تا تابع glClearColor موثرواقع شود.

3- تابع glColor3f : این تابع برای تعیین رنگ اشیاء روی صفحه بکار میرودوسه آرگومان اول آن همانندتابع glClearColor میباشد. تمام اشیاء پس از بکاربردن دستور glColor3f ازاین رنگ استفاده میکنند تازمانی که با فراخوانی دیگری ازاین تابع رنگ تغییر یابد. نگارشی دیگر ازاین تابع نیزوجود دارد glColor3fv . در این حالت آرگومان ورودی اشاره گری به یک بردار (یاآرایه) می باشد.

مثال :

GLfloat color_array[ ]={1.0,0.0,0.0};

glColor3fv(color_array);

4- تابع glOrtho : این تابع دستوری است که دید اورتوگرافیک حجم را بوجود می آورد.

glOrtho( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top,

 GLdouble zNear, GLdouble zFar);

آرگومانهای left و right مختصات صفحات عمودی برش چپ و راست را معین میسازند. top و bottom مختصات صفحات افقی برش بالا و پایین را معلوم میکنند وآرگومانهای near و  far فاصله با صفحات برش نزدیکتر و دورتر هستند.

5- تابع glBegin وتابع glEnd : برای شروع وپایان دستورات ترسیمی اشکال اولیه که با رئوسشان مشخص شده اند، بکار میروند . آرگومان glBegin نوع ترسیمی که باید شروع شود را معین میسازد. آرگومانهای مجاز تابع glBegin به شرح زیر هستند:

GL_POINTS: با هرراس بصورت یک نقطه برخورد می شود.

GL_LINES: با هر جفت راس بصورت یک خط مستقل برخورد می شود.

GL_LINE_STRIP: یک گروه به هم متصل از خطوط را از راس اول تابه آخرترسیم میکند.

GL_LINE_LOOP: یک گروه به هم متصل از خطوط را از راس اول تابه آخرترسیم میکندوسپس به اولین باز میگردد.

GL_TRIANGLES: باهرسه راس به صورت یک مثلث مستقل برخورد میکند.

GL_TRIANGLE_STRIP: یک گروه متصل به هم از مثلثها را ترسیم میکند.درواقع هرراس را به دوراس بعدی متصل میکند.

GL_TRIANGLE_FAN: یک گروه متصل به هم از مثلثها را ترسیم میکنددرواقع تمام رئوس را به هم متصل کرده و راس ابتدایی را به تمام رئوس دیگر متصل میکند.

GL_QUADS: باهرگروه چهارتایی ازرئوس به صورت یک چهارضلعی مستقل رفتار میکند.

GL_QUAD_STRIP: یک گروه متصل به هم از چهارضلعی هارا ترسیم میکند درواقع هر جفت راس

( راس فرد وراس بعدی) را به دوراس دیگر متصل میکند.

GL_POLYGON: یک چندضلعی محدب ترسیم میکند.

6- تابع glVertex3f: یک راس ازشکلی راکه باید بین glBegin و glEnd ترسیم شود، ایجاد میکند. ترتیب ارائه رئوس بسیار مهم است ( ابتدا x ، سپس y ودرآخر z ). تابع glVertex3f باید بعداز glBegin و قبل از glEnd استفاده شود.

7- تابع glFlush: برای اطمینان حاصل کردن از ترسیم تمام مواردی که باید رسم شوند ، درپایان دستورات ترسیمی ازاین تابع استفاده میشود.

8- تابع glMatrixMode: ماتریس جاری راتعیین میکند. برای تغییرمکان شئ و همچنین مکان دوربین از ماتریسها استفاده می شود.درهرلحظه یکی ازماتریسهای زیرقابل تغییر هستند.

GL_MODELVIEW

GL_PROJECTION

GL_TEXTURE

9- تابع glLoadIdentity: ماتریس قابل تغییر جاری رابه ماتریس واحدتبدیل میکند.( ماتریس واحد ماتریسی است که مولفه های روی قطر اصلی 1 ومابقی 0 هستند.(

10- توابع glEnable , glDisable , glIsEnabled: برای فعال نمودن قابلیتی ، از glEnable وبرای غیرفعال نمودن آن از glDisable استفاده میشود. برای بررسی اینکه آیاحالتی هم اکنون فعال است یاخیر میتوان از تابع glIsEnabled استفاده کرد، خروجی آن GL_TRUE ویا GL_FALSE میباشد


گردآورنده : s1390.mihanblog.com


ادامه دارد




نوع مطلب : آموزشی، گرافیک کامپیوتری، opengl، 
برچسب ها :
لینک های مرتبط :



( کل صفحات : 3 )    1   2   3   
درباره وبلاگ


امام صادق(ع) می فرمایند: «اِنُّ لِکلِّ شیءٍ زکاةً و زکاةُ العِلمِ اَنْ یُعَلِّمَهُ اَهلَهُ» برای هر چیزی زکاتی است،و زکات علم آن است که آن را به اشخاص شایسته بیاموزید. (منبع: تحف.ص 364)

امام علی (ع) می فرمایند: « زکات العلم نشرهُ» زکات علم نشر آن است.

مدیر وبلاگ : s1390
مطالب اخیر
نویسندگان
صفحات جانبی
آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
فرم تماس
نام و نام خانوادگی
آدرس ایمیل
امکانات دیگر
دریافت كد ختم صلوات
کلیه حقوق این وبلاگ برای وب سایت دانشجویان کارشناسی و ارشد کامپیوتر خرم آباد محفوظ است