دقیقاً می خواهی چیکار کنی ؟ freetype - FTGL استفاده کن بیتمپم نیست یا اینکه خودت یک کتابخانه بنویس که بتونه یک فایل فونت مثل ttf را بخونه و سپس پردازش روش انجام بده و ازش در برنامه استفاده کن
دقیقاً می خواهی چیکار کنی ؟ freetype - FTGL استفاده کن بیتمپم نیست یا اینکه خودت یک کتابخانه بنویس که بتونه یک فایل فونت مثل ttf را بخونه و سپس پردازش روش انجام بده و ازش در برنامه استفاده کن
مثال بهمراه توضیحات : http://ftgl.sourceforge.net/docs/htm...-tutorial.html
یه چیزی متوجه شدم
.اون x و y که تابع motion بهم میده نسبت به دستگاه مختصات ویندوز هست ولی اون چیزی که من رسم می کنم چون روش تبدیلای مختلف انجام شده و دوربین جا به جا شده و اینا،مختصاتاش فرق می کنه
الان مثلا مکان نقطه ی (1و0) موس با (1و0) مکعب هایی که رسم کردم باهم فرق می کنه.اونجوری که من متوجه شدم با دستور gluUnProject میشه این تبدیل مختصاتی رو انجام داد. ولی من هرجایی که کلیک می کنم مختصات صفر رو بهم برمیگردونه و بازم برنامه کار نمی کنه
شما داری 3 بعدی کار می کنید فک کنم خود اپن جی ال تابع پیکینگ داره براش ....
از کجا میشه تشخیص داد یه عکس یا متنی که توی opengl گذاشتیم وکتور هست ؟
بزرگش کن اگر کیفیتش را از دست داد پیکسلی است اگر نه وکتوری است
من یه عکس آوردم توی opengl
شما ببینید وکتور هست یا نه
عکس BMP وکتور نیست و بیشتر تکسچر هایی که استفاده می شوند بیتمپ هستند .........
این مثلثی کردن اپن جی الم داستانیه ها
Untitled.png
آخرین ویرایش به وسیله amin1softco : چهارشنبه 31 اردیبهشت 1393 در 18:16 عصر
من پیدا نکردم ک گفتین 2-3 تا عکس لود شده
کد این عکستونو میشه بذارین؟
در این زمینه باید پویا یا کوچول وارد عمل بشوند از حوزه دانش من خارج استو من الله توفیق
turn-off : ابزار های سایت زیر را بررسی کن
http://www.opengl-tutorial.org/misce...ul-tools-links
3pid71:http://www.daneshju.ir/forum/1507/t27228-6.html
شاید این سایت بتونه کمکت کنه
پروژه ای که شکل رو میتونه با کلید کیبورد خم و یا راست کنه
سلام
من چند تا شی توی opengl دارم
اگه بخوام درگشون کنم باید چکار کنم؟
آخرین ویرایش به وسیله turn-off : یک شنبه 04 خرداد 1393 در 11:40 صبح
عزیزم شما یک سرچی بزنی رو نت کدشو پیدا می کنید ولی به هر حال چیزی که من پیدا کردم
https://forum.libcinder.org/#topic/23286000000285018
این در محیط سه بعدی است ...
+http://www.lighthouse3d.com/opengl/picking/
آخرین ویرایش به وسیله amin1softco : یک شنبه 04 خرداد 1393 در 14:45 عصر
مرسی
http://www.youtube.com/watch?v=XgrrsPigBWw
اینو پیدا کردم
به نظرم کار جالبیه
ببخشید من انقد سوال میپرسم
من میخوام متن و عکس بذارم توی opengl
میخوام منو و نوار ابزار و پنل بذارم
به نظر شما از win32 استفاده کنم بهتر و راحت تره یا mfc?
هیچ کدوم.برای ui از Qt استفاده کنید.به نظر شما از win32 استفاده کنم بهتر و راحت تره یا mfc?
میخوام چند تا شی که روی opengl دارم یکیشونو درگ کنم
کسی میتونه کمک کنه؟
من طبق توصیه اقا پویا رفتم سمت qt
تا حالا با هاش کار نکردم
سوالم اینه توی qt میشه از ftgl استفاده کرد ؟
سلام دوستان..میشه منو کمک کنید..
یه برنامه ی اماده میخام که هم خیلی ساده باشه هم متحرک باشه
واسه پروژه گرافیم میخام(GUI) هیچی هم ازش بلد نیستم...اک میشه لینک ی برنامه رو به ایمیلم بزنید..مرسی...ممنون
atefehahmadi5@gmail
سلام خدمت دوستان من میخوام یه چهره انسان طراحی کنم با open gl کسی مثالی,راهنمایی سراغ داره؟ممنون.
چاپ مستطیل وفونت در openglبا سلام در ++C با کمک opengl یک مستطیل چاپ کردم و فونت را با کمک تابع glbitmap-character جدا چاپ کردم حالا میخوام این 2 تا با هم در یک صفحه چاپ شود ولی بعد از ترکیب هر 2تا کد باهم فقط یکی چاپ میشود با هم در یک صفحه قرار نمیگیرد لطفا راهنمایی فرمایید .
مشکل در روش ترکیب است ...
سلام
amin1softcoجان چطوربایدترکیب کنم
احتمالاً تابع clear را فراخوانی کردی ....
سلام خوبید دوستان من کمک می خوام
برنامه ای می خوام که با کلیک چپ در محل کلیک نقطه بگذاره با کلیک راست روی نقطه اون رو پاک کنه میشه راهنمایی کنید نمیدونم چطوری پاک کنم بعدم قبل از کلیک چپ یه نقطه میکشه که من نمی خوام بکشه
سلام دوستان
کل این 9 صفحه رو گشتم اما ب جوابی نرسیدم
من ذوزنقه تو صفحه کشیدم.شما فرض کنید یه ماشینه.
حالا باید تو صفحه مدام از چپ به راست حرکت کنه و به اخر صفحه ک رسید دوباره از سمت راست تصویر شروع بشه
وقتی کلید راست رو میزنم سرعتش بیشتر بشه یا با زدن کلید چپ سرعتش کم بشه.
میخواستم راهنماییم کنید
کار عاقلانه ایه اگه
یه حلقه چرخشی بنویسم ک مدام صفحه رو پاک کنه و شکل رو یه بار دیگه با مختصات جدید رسم کنه ؟
برای حرکتش باید چیکار کنم؟
گرفتن وروودی رو بلدم اما چجوری سرعتش کم یا زیاد شه.
البته تو یکی از پست ها یه دایره بود ک مدام میچرخید و سرعتش کم و زیاد میشد.اما نتونستم کاری کنم ک ب جای حرکت دورانی حرکت مستقیم داشته باشه!
لطفا کمکم کنید
سپاسگزارم :)
کار عاقلانه هست یا نه که ملت اینجوری کار می کنند با یک حلقه
برای حرکتشم مثالی که سرعت دایره را کم و زیاد می کنه جواب شماست با یک متغیر اضافی
در همون حلقه با متغیر سوم می تونید کنترلش کنید اون دایره همه مختصاتشو عوض کنید به نتیجه می رسید
سلام:)
از پاسخ دیروزتون ممنون
4تا خواهش وسوال دیگه ازتون دارم
یکی این ک میشه لطفا کد منو بررسی کنید و اشکالاتشو بگیرید
دوم این که اون قسمت کد ک کامنت کردم عمل نمیکنه
البته خیلی هم مطمعن نیستم ک درست باشه.برای کم و زیاد کردن سرعت نوشتم.
سوم این که هرچقد سعی کردم نتونستم کاری کنم ک وقتی ازصفحه خارج شد دوباره برگرده از اول و این روند هی ادامه پیدا کنه
چهارم این ک اگه تابع
(glutIdleFunc(Display
رو توی main فراخوانی کنم
ماشین هم به طور کامل از تصویر میره بیرون
اما اگه فراخوانی نکنم یکم از ماشین میمونه توصفحه.اصلا این تابع چه کاری میکنه و لازمه ک باشه؟
خیلی خیلی ممنون میشم تو این موارد هم راهنماییم کنید.
آخرین ویرایش به وسیله Mahya1993 : سه شنبه 03 تیر 1393 در 11:28 صبح دلیل: کد رو ک گذاشتم بهم ریخته بود نمیدونستم کد رو چجوری قرار بدم
#include<windows.h>
#include<GL/glut.h>
#include <math.h>
#include <time.h>
void init()
{
glClearColor(0,0,0,0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0,200,0,200);
}
GLint i=0,j=30;
GLdouble k=0;
void Display()
{
for (k=0 ; k<20 ; k++){
static float fElect1 = 0.0;
glRotatef(fElect1, 0.0, 1.0, 0.0);
Sleep(200);
glTranslatef(k, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,0.0,0.0);
glBegin(GL_QUADS);
glVertex2i(i,j);
glVertex2i(i+15,j+30);
glVertex2i(i+45,j+30);
glVertex2i(i+60,j);
glEnd();
glFlush();
glutSwapBuffers();
glEnable(GL_POINT_SMOOTH);
glPointSize(35);
glBegin(GL_POINTS);
glColor3f(1,1,1);
glVertex2i(i+20,j);
glColor3f(1,1,1);
glVertex2i(i+40,j);
glEnd();
glFlush();
}
}
//void keyboard(unsigned char key, int x, int y)
//{
// switch (key) {
// case '1':
// Sleep(180);
// glutIdleFunc(Display);
//
// break;
//
// case '2':
// Sleep(290);
// glutIdleFunc(Display);
//
// break;
//
// case '3':
// exit(1);
// break;
// case 'X':
// exit(2);
//
//
// default:
// break;
// }
//
//
//}
int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(200,200);
glutCreateWindow("Moving Car");
init();
glutDisplayFunc(Display);
// glutKeyboardFunc(keyboard);
glutMainLoop();
return 0;
}