صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 49

نام تاپیک: Opengl در visual C++‎6

  1. #1

    Question Opengl در visual C++‎6

    سلام دوستان
    برای کار با opengl برای پروژه درس گرافیک VC++‎6 رو انتخاب کردم.برای ایجاد موتور گرافیکی مشکل پیدا کردم.
    یه برنامه از سایت http://nehe.gamedev.net/data/lessons....asp?lesson=01
    برای vC++‎6 دانلود کردم و وقتی با vC++‎6 برنامه رو باز می کنم.اجرا می شه.حتی اگر بخوام جایی از برنامه رو تغییر بدم می شه و برای کامپایل هیچ پیغامی نمی ده.ولی اگر خودم بخوام یه موتور گرافیکی در vC++‎6 با استفاده از کد دانلود شده موجود در سایت ایجاد کنم,برنامه رو کامپایل نمی کنه و پیغام خطا می ده.
    fatal error C1010: unexpected end of file while looking for precompiled header directive
    Error executing cl.exe.
    حتی از قسمت project/setting سه تا فایل opengl32.lib glu32.lib glaux.lib رو لینک می کنم ولی باز هم پیغام می ده.
    لطفا راهنماییم کنین.
    سریعا به جواب نیاز دارم.

  2. #2

    نقل قول: Opengl در visual C++‎6

    البته ممکنه از همون اول پروژه رو در vC++‎6 اشتباه ایجاد کرده باشم.
    پروژه رو بر اساس توضیحاتی که توی سایت http://nehe.gamedev.net/data/lessons....asp?lesson=01 بود ایجاد کردم.
    مسیری که پیش رفتم:
    file/new/win32 application
    بعد از این قسمت می پرسه پروژه خالی ایجاد کنه؟یا دو تا گزینه دیگه که نمی دونم کذوم رو باید انتخاب کنم.
    آدمی جایزالخطاست ممکنه جایی رو اشتباه پیش رفته باشم.
    لطفا مراحل ایجاد پروژه جدید برای کار با opengl رو در vC++‎6 به طور کامل توضیح بدین.
    ممنون.

  3. #3

    نقل قول: Opengl در visual C++‎6

    سلام
    اگه روی vC++‎6 تاکیدی نیست لینک زیر میتونه کمکت کنه
    فیلم آموزش استفاده از opengl در Microsoft Visual Studio 2005


    موفق باشید

  4. #4
    کاربر دائمی آواتار 1485159
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    NULL
    سن
    30
    پست
    886

    نقل قول: Opengl در visual C++‎6

    ولی اگر خودم بخوام یه موتور گرافیکی در vC++‎6 با استفاده از کد دانلود شده موجود در سایت ایجاد کنم,برنامه رو کامپایل نمی کنه و پیغام خطا می ده.
    جان؟ موتور گرافیکی؟
    بعد از این قسمت می پرسه پروژه خالی ایجاد کنه؟
    باید پروژه خالی ایجاد کنی. بعدن یک فایل .cpp ایجاد کن و کدت رو اونجا بنویسی و کامپایل کن. اولش شاید خیلی گیج بشی و کلا سر در گم ولی بعدا بهش عادت میکنی.
    درضمن باید کتابخونه های opengl رو هم لینک کنی..

  5. #5

    نقل قول: Opengl در visual C++‎6

    باید اول هر یک از فایل های ++c بنویسی

    #include "stdafx.h"
    Kochol Game Engine
    http://www.kge3d.org



  6. #6
    کاربر دائمی آواتار 1485159
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    NULL
    سن
    30
    پست
    886

    نقل قول: Opengl در visual C++‎6

    باید اول هر یک از فایل های ++c بنویسی
    برادر من چرا شایعه پراکنی میکنی؟
    من خودم که این کارو نمیکنم!!(البته نمیکردم، چون الان کلا برنامه نویسی نمیکنم)!

  7. #7

    نقل قول: Opengl در visual C++‎6

    منظور از موتور گرافیکی اینه که کدهای لازم رو برای ساخت پنجره گرافیکی در هر زبانی که دوست داریم ایجاد کنیم و بعد از این کافیه هر شی که می خواهیم رسم می کنیم رو در یک تابع مخصوص که در موتور گرافیکی نوشته شده ایجاد کنیم.

  8. #8

    نقل قول: Opengl در visual C++‎6

    نقل قول نوشته شده توسط 1485159 مشاهده تاپیک
    جان؟ موتور گرافیکی؟
    باید پروژه خالی ایجاد کنی. بعدن یک فایل .cpp ایجاد کن و کدت رو اونجا بنویسی و کامپایل کن. اولش شاید خیلی گیج بشی و کلا سر در گم ولی بعدا بهش عادت میکنی.
    درضمن باید کتابخونه های opengl رو هم لینک کنی..
    تا حالا با vC++‎6 کار نکردم و نمی دونم از چه طریقی فایل C++‎ رو ایجاد کنم.
    لطفا راهنماییم کنین.ممنون

  9. #9

    نقل قول: Opengl در visual C++‎6

    نقل قول نوشته شده توسط ehp_kz6597 مشاهده تاپیک
    سلام
    اگه روی vC++‎6 تاکیدی نیست لینک زیر میتونه کمکت کنه
    فیلم آموزش استفاده از opengl در Microsoft Visual Studio 2005


    موفق باشید
    این فایل رو دانلود کردم ولی با fash player7 که اجرا نشد.
    با چی اجرا می شه؟؟؟؟؟؟؟؟
    ورژن خاصی از flash player رو نیاز داره؟؟؟

  10. #10

    نقل قول: Opengl در visual C++‎6

    سلام
    نه . فکر نکنم
    اصلا Internet Explorer خیلی راحت وبدون مشکل فایل های فلاش رو پخش میکنه
    اگه باز هم موفق نشدی این جزوه مختصر و خیـــــــــــــــــــلی مفید رو بخون . انشاء الله حل میشه

    OpenGLInCPP.pdf

    موفق باشید

  11. #11

    نقل قول: Opengl در visual C++‎6

    نقل قول نوشته شده توسط 1485159 مشاهده تاپیک
    برادر من چرا شایعه پراکنی میکنی؟
    من خودم که این کارو نمیکنم!!(البته نمیکردم، چون الان کلا برنامه نویسی نمیکنم)!
    برو ببین precompiled header فایل چی هست چیزی نمی دونی اف تاپیک هم نده
    Kochol Game Engine
    http://www.kge3d.org



  12. #12
    کاربر دائمی آواتار 1485159
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    NULL
    سن
    30
    پست
    886

    نقل قول: Opengl در visual C++‎6

    چیزی نمی دونی اف تاپیک هم نده
    شما استادی...
    من که هیچوقت نمینویسمش!

  13. #13

    نقل قول: Opengl در visual C++‎6

    نقل قول نوشته شده توسط 1485159 مشاهده تاپیک
    شما استادی...
    من که هیچوقت نمینویسمش!
    من ازت معذرت می خوام
    Kochol Game Engine
    http://www.kge3d.org



  14. #14

    Question نقل قول: Opengl در visual C++‎6

    دوستان سلام لطفا جواب بدین.
    تا حالا با vC++‎6 کار نکردم و نمی دونم بعد از اینکه پروژه خالی ایجاد کردم از چه طریقی باید فایل C++‎ رو ایجاد کنم.
    لطفا راهنماییم کنین.ممنون .

  15. #15

    نقل قول: Opengl در visual C++‎6

    می شه بگی چرا گیر دادی به وی سی 6؟
    وی سی 6 خیلی قدیمیه

    برو یه ویژوال استادیو دات نت 2005 یا 2010 بخر با اون کار کن. 2008 رو نخر چون باگ داره و کلی باید سرویس پک و غیره بریزی تا یه ذره بهتر بشه.
    Kochol Game Engine
    http://www.kge3d.org



  16. #16

    نقل قول: Opengl در visual C++‎6

    برو یه ویژوال استادیو دات نت 2005 یا 2010 بخر با اون کار کن. 2008 رو نخر چون باگ داره و کلی باید سرویس پک و غیره بریزی تا یه ذره بهتر بشه.
    بیخیال ۲۰۱۰ هم شو. به شکل عجیبی کند هستش؟!!!‌(یا سیستم من تعطیله)‌ اگر به خاطر کامپایلر و MSVC نبود من حتی بهش نگاه هم نمی کردم.

  17. #17

    نقل قول: Opengl در visual C++‎6

    نقل قول نوشته شده توسط pswin.pooya مشاهده تاپیک
    بیخیال ۲۰۱۰ هم شو. به شکل عجیبی کند هستش؟!!!‌(یا سیستم من تعطیله)‌ اگر به خاطر کامپایلر و MSVC نبود من حتی بهش نگاه هم نمی کردم.
    اره کنده البته نه رو سیستم خفن من :D
    فکر کنم دلیله اصلی کند بودنش اینه که همش داره تو کدت دنبال خطا می گرده عین سی شارپ و وی بی ولی فکر کنم بتونی این امکاناتشو خاموش کنی اونوقت سرعتش می ره بالا
    Kochol Game Engine
    http://www.kge3d.org



  18. #18

    نقل قول: Opengl در visual C++‎6

    اره کنده البته نه رو سیستم خفن من :D
    فکر کنم دلیله اصلی کند بودنش اینه که همش داره تو کدت دنبال خطا می گرده عین سی شارپ و وی بی ولی فکر کنم بتونی این امکاناتشو خاموش کنی اونوقت سرعتش می ره بالا


    من خاموشش کردم و یه مقدار بهتر شد اما بازم حال نمیده. به نظر من ادیتور ۲۰۰۸ به مراتب بهتره (با ویژوال گوجه). کلا اگر به خاطر کامپایلر و MFC نبود بیخیالش می شدم.

  19. #19

    نقل قول: Opengl در visual C++‎6

    بابا بالاخره که چی؟؟؟اگه کسی خواست با vC++‎6 کار کنه چی؟؟؟؟
    من فعلا فقط برای پروژه پایانترم می خوام.اگه لطف کنین و جواب سوالمو بدین ممنون می شم.
    تا حالا با vC++‎6 کار نکردم و نمی دونم بعد از اینکه پروژه خالی ایجاد کردم از چه طریقی باید فایل C++‎ رو ایجاد کنم.

  20. #20

    نقل قول: Opengl در visual C++‎6

    حالا که از vC++‎ 2005 تعریف کردین.اگر ممکنه آموزش opengl رو برای vC++‎2005 در اختیارمون بزارین.

    دلیل اینکه به vC++‎6 گیر دادم این هست که برای vC++‎6 اطلاعات زیادی دارم و می تونم پروژه رو با این مطالبی که در اختیار دارم ایجاد کنم.منتظر جواب سوالاتم در مورد vC++‎6 هستم.

  21. #21

    نقل قول: Opengl در visual C++‎6

    از لحاظ OpenGL ویژوال C++‎ شیش با 2005 و حتی GCC هیچ فرقی نمیکنه. فقط لازمه یک برنامه کنسول win32 ایجاد کنی و percompiled header رو داخل گزینه ها خاموش کنی و empty project رو انتخاب کنی. وبعد از ایجاد پروژه گزینه File->New->File یه فایل C++‎ درست کنی. و هدرهای زیر رو وارد کنی:

    #include <GL/gl.h>
    #include <GL/glut.h>

    #pragmma comment (lib,"opengl32.lib")
    #pragma comment(lib,"glut32.lib")


    بعدش هم کدت رو تایپ کن. در مورد کپی کردن هدرها هم فقط کافیه یه سرچ توی سایت بزنی.

  22. #22

    نقل قول: Opengl در visual C++‎6

    سلام.از این فایل های dll,.lib,.h. زیاد دانلود کردم.
    اما نمی دونم چه فایل هایی رو برای کار با open gl در vb.net 2005 باید استفاده کنم؟؟؟؟؟؟؟؟
    این فایل ها رو باید کجا ذخیره کنم تا به برنامه لینک بشه؟؟؟؟؟؟؟؟؟؟؟

  23. #23

    نقل قول: Opengl در visual C++‎6

    در کتابی خوندم که گفته بود این سه تا فایل باید در قسمت linker اضافه بشه.
    Opengl32.lib glu32.lib glaux.lib
    ولی نمی دونم به جز این فایل ها فایل دیگه ای نیاز هست یا نه؟؟؟؟؟؟؟؟؟
    و این 3 فایل رو کجا باید ذخیره کنم که موقع کامپایل برنامه error نده؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
    لطفا راهنمایی کنید.

  24. #24

    نقل قول: Opengl در visual C++‎6

    سلام
    از این فایل ها باید در سی ++ استفاده کنید و برای vb.net نیستند
    این مقاله فکر کنم به دردتون بخوره
    http://www.devmaster.net/articles/in...dev/part16.php
    Kochol Game Engine
    http://www.kge3d.org



  25. #25

    نقل قول: Opengl در visual C++‎6

    [QUOTE=kochol;1204825]سلام
    از این فایل ها باید در سی ++ استفاده کنید و برای vb.net نیستند





    ممنون
    من هم اون فایل هارو برای vC++‎2005 گفتم.
    حالا درسته؟؟؟؟؟؟؟؟؟؟

  26. #26

    نقل قول: Opengl در visual C++‎6

    you must also remember to include the directory in the Projects and Solutions menu.

    این رو توی مقاله ای که گفتین خوندم اما دقیقا نمی دونم چه جوری اون فایل رو توی پروژه یا قسمت solution اضافه کنم؟؟؟؟؟؟؟؟
    من این کار رو انجام دادم :
    روی اسم پروژه در پنجره solution راست کلیک می کنیم و گزینه references رو انتخاب می کنیم.بعد در قسمت references گزینه add path رو انتخاب می کنیم و مسیری که فایل های lib در اون ذخیره شده
    رو مشخص می کنیم.
    درسته؟؟؟؟؟؟؟؟؟؟؟؟؟؟
    اگر درست نیست لطفا تصحیح کنید در غیر این صورت درست بودنشو اطلاع بدین.
    ممنون.

  27. #27

    نقل قول: Opengl در visual C++‎6

    سلام
    نه درست نیست.
    این اموزش رو ببین توش توضیح دادم که چه طوری باید مسیر ها رو برای سرچ vs.net تعریف کنی
    http://kge3d.org/document/tutorials/...piler-setup-2/
    این قسمتی هست که شما نیاز دارید.
    If your IDE is Visual Studio .NET , Select <Tools> menu and select <Options…>.Select the projects entry and then select <VC++‎ directories>. Select ‘show directories for include files’ in the combo box , and add “Include” Directories of KGE engine.
    Compiler also need to find the library files of engine,so stay in that dialog , select ‘show directories for Library files’ and add the libs directory of engine and also add the “Debug” directory.
    Kochol Game Engine
    http://www.kge3d.org



  28. #28

    نقل قول: Opengl در visual C++‎6

    ممنون از راهنماییتون.
    اما هر کار کردم هیچ فایده ای نداشت.این کد رو توی برنامه دوشتم که اول تست کنم آیا همه چی درسته یا نه؟مثلا همین پیدا کردن فایل های include.
    #include <stdio.h>
    #include <ctype.h>
    #include <stdlib.h>
    #include <gl/glut.h>
    #include <math.h>
    int main ( int args , char *argv [ ] )
    {
    return 0 ;
    }
    مسیر پوشه include رو برای libarary و includeو reference در قسمت show directories for Library files مشخص کردم.
    فایل های .dll رو در پوشه windows32 و فایل های .h و .lib رو در C:\Program Files\Microsoft Visual Studio 8\VC\include ذخیره کردم.
    در قسمت linker هم Opengl32.lib glu32.lib glut32.lib glaux.lib freeglut.lib رو نوشتم.
    با این حال این پیغام خطا رو دریافت می کنم:
    fatal error c1083:can not open include file ‘gl/glut.h’:no such file or directory
    لطفا راهنماییم کنین.

  29. #29

    نقل قول: Opengl در visual C++‎6

    سلام

    1. فایلهای .lib رو باید بریزی تو پوشه lib
    2. فایلهای .h رو هم توی پوشه C:\Program Files\Microsoft Visual Studio 8\VC\include\gl\ باید بریزی

  30. #30

    نقل قول: Opengl در visual C++‎6

    مشکل فعلا حل شد فکر می کنم مسیر directories رو اشتباه وارد کرده بودم.
    مسیر درست اینه:
    glut32.dll -> C:\Windows\System or C:\WinNT\System
    glut32.lib -> C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib
    glut32.h -> C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\gl

    مشکلم رو از طریق این سایت برطرف کردم.
    مراحل ایجاد پروژه opengl رو با vC++‎2005 رو به خوبی و به طور کامل توضیح داده.
    http://www.cecs.csulb.edu/~pnguyen/U...dio%202005.htm
    البته برای تعیین کردن محل پوشه های lib و include باید از این لینک که در بالا هم قرار داده شده استفاده کنیم.
    http://kge3d.org/document/tutorials/...piler-setup-2/

  31. #31

    نقل قول: Opengl در visual C++‎6

    سلام.
    دوستان گفته بودن از نظرopengl ر vC++‎6 و vC++‎2005 با هم فرقی نداره.
    برای همین من یه کد از سایت nehe دانلود کردم که برای vC++‎6 نوشته شده بود و کد رو در پروژه vC++‎2005کپی کردم.موقع اجرای برنامه حدود 23 تا پیغام خطا داره.رفع این خطاها وقت زیادی می خواد و فرصت من زیاد نیست.
    یه موتور گرافیکی(همون کدهایی که شامل تابع killwindow وdrawglscen و غیره هست) برای visual C++‎ 2005 نیاز دارم.

  32. #32

    نقل قول: Opengl در visual C++‎6

    دوستان لطفا موتور گرافیکی برای vC++‎2005
    خیلی فرصت ندارم.

  33. #33

    نقل قول: Opengl در visual C++‎6

    سلام به راهنمایی دوستان تصمیم گرفتم با visual C++‎.net 2005 برنامه رو بنویسم.
    کد رو از سایت http://nehe.gamedev.net/data/lessons....asp?lesson=03 دانلود کردم.
    کد مربوط به visual studio.net ولی با این حال موقع اجرا 23 تا error و 2 تا warning دریافت کردم.
    در این برنامه در قسمت linker این هارو قرار داده:opengl32.lib glu32.lib odbc32.lib odbccp32.lib
    البته نمی دونم این دو تا odbc32.lib odbccp32.lib برای چی استفاده شده.فایل .dll و .lib رو برای این دو فایل دارم ولی .h ندارم.
    لطفا راهنمایی کنین که علت این پیام های خطا چی هست؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
    اصلا کدوم کد رو دانلود کنم تا بتونم از طریق اون کدهای opengl رو برای vC++‎ اجرا کنم.(چون آموزش رو برای vC++‎ دارم)البته لازمه بگم با کد مربوط به vC++‎6 که در سایت nehe بود به جایی نرسیدم برای همین پیشنهاد شد با vC++‎2005 کار کنم.
    یکی نیست راهنماییم کنه آخه عجله دارم.

  34. #34

    نقل قول: Opengl در visual C++‎6

    یه پروژه ساده که این همه دنگ و فنگ نداره. پیغام خطاها رو بگو تا بگیم مشکل از چیه.

  35. #35

    نقل قول: Opengl در visual C++‎6

    آخه چرا می زنین تو ذوقم.مگه تو عمرم چقدر با open gl کار کردم.من فقط چند تا pdf آموزش برای کار کردن با opengl دارم.که خودم باید کار با opengl رو شروع کنم بدون کمک استاد.
    اگه اینجا هم کسی راهنمایی نکنه.استعداد های نهفته در من شکوفا نمی شه.
    وقتی این برنامه رو با visual studio .net اجرا می کنم یه پنجره باز می شه که می گه باید کد رو convert کنه.بعد از تبدیل شدن کد اجرا میشه ولی بعد از اجرا شدن در قسمت output چند تا پیغام نوشته :
    'lesson3.exe': Loaded 'E:\graphic\VC++‎\visual studio open gl\Debug\lesson3.exe', Symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\opengl32.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\secur32.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\user32.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\glu32.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\ddraw.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\dciman32.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\imm32.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\lpk.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\usp10.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\uxtheme.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\MSCTF.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\version.dll', No symbols loaded.
    'lesson3.exe': Unloaded 'C:\WINDOWS\system32\version.dll'
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\MSCTFIME.IME', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\ole32.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\Program Files\Internet Download Manager\idmmkb.dll', Binary was not built with debug information.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\atioglxx.dll', No symbols loaded.
    'lesson3.exe': Loaded 'C:\WINDOWS\system32\mcd32.dll', No symbols loaded.
    'lesson3.exe': Unloaded 'C:\WINDOWS\system32\mcd32.dll'
    The program '[2348] lesson3.exe: Native' has exited with code 0 (0x0).

    حالا اگه همین کد رو توی پروژه ای که خودم شروع کردم به ایجاد کردنش کپی کنم 23 تا پیغام خطا داره.
    Error 1 error C2061: syntax error : identifier 'keys' e:\tc example\project heram\project ahraam\project ahraam\main.c 20
    Error 2 error C2059: syntax error : ';' e:\tc example\project heram\project ahraam\project ahraam\main.c 20
    Error 3 error C3409: empty attribute block is not allowed e:\tc example\project heram\project ahraam\project ahraam\main.c 20
    Error 4 error C2143: syntax error : missing ']' before 'constant' e:\tc example\project heram\project ahraam\project ahraam\main.c 20
    Error 5 error C2061: syntax error : identifier 'active' e:\tc example\project heram\project ahraam\project ahraam\main.c 21
    Error 6 error C2059: syntax error : ';' e:\tc example\project heram\project ahraam\project ahraam\main.c 21
    Error 7 error C2513: '/*global*/ ' : no variable declared before '=' e:\tc example\project heram\project ahraam\project ahraam\main.c 21
    Error 8 error C2061: syntax error : identifier 'fullscreen' e:\tc example\project heram\project ahraam\project ahraam\main.c 22
    Error 9 error C2059: syntax error : ';' e:\tc example\project heram\project ahraam\project ahraam\main.c 22
    Error 10 error C2513: '/*global*/ ' : no variable declared before '=' e:\tc example\project heram\project ahraam\project ahraam\main.c 22
    Error 11 error C2065: 'fullscreen' : undeclared identifier e:\tc example\project heram\project ahraam\project ahraam\main.c 82
    Error 12 error C2146: syntax error : missing ')' before identifier 'fullscreenflag' e:\tc example\project heram\project ahraam\project ahraam\main.c 128
    Error 13 error C2081: 'bool' : name in formal parameter list illegal e:\tc example\project heram\project ahraam\project ahraam\main.c 128
    Error 14 error C2061: syntax error : identifier 'fullscreenflag' e:\tc example\project heram\project ahraam\project ahraam\main.c 128
    Error 15 error C2059: syntax error : ';' e:\tc example\project heram\project ahraam\project ahraam\main.c 128
    Error 16 error C2059: syntax error : ')' e:\tc example\project heram\project ahraam\project ahraam\main.c 128
    Error 17 error C2449: found '{' at file scope (missing function header?) e:\tc example\project heram\project ahraam\project ahraam\main.c 129
    Error 18 error C2059: syntax error : '}' e:\tc example\project heram\project ahraam\project ahraam\main.c 291
    Warning 19 warning C4013: 'CreateGLWindow' undefined; assuming extern returning int e:\tc example\project heram\project ahraam\project ahraam\main.c 369
    Error 20 error C2065: 'active' : undeclared identifier e:\tc example\project heram\project ahraam\project ahraam\main.c 391
    Error 21 error C2065: 'keys' : undeclared identifier e:\tc example\project heram\project ahraam\project ahraam\main.c 391
    Error 22 error C2109: subscript requires array or pointer type e:\tc example\project heram\project ahraam\project ahraam\main.c 391
    Error 23 error C2109: subscript requires array or pointer type e:\tc example\project heram\project ahraam\project ahraam\main.c 400
    Error 24 error C2109: subscript requires array or pointer type e:\tc example\project heram\project ahraam\project ahraam\main.c 402
    Warning 25 warning C4244: 'return' : conversion from 'WPARAM' to 'int', possible loss of data e:\tc example\project heram\project ahraam\project ahraam\main.c 416

  36. #36

    نقل قول: Opengl در visual C++‎6

    با سلام دوست عزیز,شما که می گین این پروژه ساده هست,بیا و در حق ما استادی کنین و کمک کنین که بتونم کار با opengl رو با visual C++‎2005.net شروع کنم.
    من مشکلم فقط همین توابع اولیه هست که برای تولید پنجره به کار می ره.مثل killwindow,drawglscene وچندتا تابع دیگه که بدون خطا در محیطی که می خوام اجرا بشه و بتونم در اون شکل های مورد نظرم رو رسم کنم.
    پیشاپیش ممنون.

  37. #37

    نقل قول: Opengl در visual C++‎6

    سلام
    من تا حالا n تا برنامه gl نوشتم و تا حالا به همچین مشکلهایی بر نخوردم. واقعیتش رو بخوای کپی سورس اونم یه سورس قدیمی بیشتر از این نمیشه ولی من خیلی خوب یادمه که دو سال پیش همین مثالهای nehe رو داخل vs2005 کپی کردم و ازشون استفاده کردم. حالا واقعا نمی دونم مشکل شما کجاست فقط میتونم یه پیشنهاد بکنم و اونم اینه که به جای توابع ویندوز برای ایجاد پنجره از glut کمک بگیری.

    نکته دیگه اینه داخل کدی که خودت پروژه رو ایجاد کردی متغییرهایی مثل key و یا fullscreen رو هم تعریف نکردی که واقعا فکر نکنم نتونی اونها رو اصلاح کنی در حقیقت من فکر میکنم که لقمه آماده میخوای که برای این مورد هم خیلی زیاده فقط همت گشتن میخواد

  38. #38

    نقل قول: Opengl در visual C++‎6

    مطمئن باشین دنبال لقمه آماده نیستم.این قدر توی سایت های جور واجور گشتم و به جایی نرسیدم,که مجبور شدم بیام تو ی این سایت.
    پروژه آماده نخواستم فقط یه کد به عنوان موتور گرافیکی می خوام که بتونم پروژمو شروع کنم.اون قدر هم فرصت و اطلاعات ندارم که خودم این کد هارو بنویسم.


    و لازمه بگم متغیر های fullscreen و key هم تعریف شدن.از نوع boolean. ولی پیغام خطا داره.
    میشه بگین دقیقا کدوم کد رو 2 سال پیش دانلود کردین و در vs2005 جواب داد؟؟؟؟؟؟؟؟

  39. #39

    نقل قول: Opengl در visual C++‎6

    سلام
    به نظرم کدت رو اینجا بذار یه نگاهی بهش بندازیم
    Kochol Game Engine
    http://www.kge3d.org



  40. #40

    نقل قول: Opengl در visual C++‎6

    این کد رو از سایت nehe برای visual studio.net دانلود کردم.

    /*
    * This Code Was Created By Jeff Molofee 2000
    * A HUGE Thanks To Fredric Echols For Cleaning Up
    * And Optimizing The Base Code, Making It More Flexible!
    * If You've Found This Code Useful, Please Let Me Know.
    * Visit My Site At nehe.gamedev.net
    * Conversion to Visual Studio.NET done by Grant James(ZEUS)
    */

    #include <windows.h> // Header File For Windows
    #include <gl\gl.h> // Header File For The OpenGL32 Library
    #include <gl\glu.h> // Header File For The GLu32 Library
    #include <gl\glaux.h> // Header File For The Glaux Library

    HDC hDC=NULL; // Private GDI Device Context
    HGLRC hRC=NULL; // Permanent Rendering Context
    HWND hWnd=NULL; // Holds Our Window Handle
    HINSTANCE hInstance; // Holds The Instance Of The Application

    bool keys[256]; // Array Used For The Keyboard Routine
    bool active=TRUE; // Window Active Flag Set To TRUE By Default
    bool fullscreen=TRUE; // Fullscreen Flag Set To Fullscreen Mode By Default

    LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // Declaration For WndProc

    GLvoid ReSizeGLScene(GLsizei width, GLsizei height) // Resize And Initialize The GL Window
    {
    if (height==0) // Prevent A Divide By Zero By
    {
    height=1; // Making Height Equal One
    }

    glViewport(0,0,width,height); // Reset The Current Viewport

    glMatrixMode(GL_PROJECTION); // Select The Projection Matrix
    glLoadIdentity(); // Reset The Projection Matrix

    // Calculate The Aspect Ratio Of The Window
    gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);

    glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix
    glLoadIdentity(); // Reset The Modelview Matrix
    }

    int InitGL(GLvoid) // All Setup For OpenGL Goes Here
    {
    glShadeModel(GL_SMOOTH); // Enable Smooth Shading
    glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Black Background
    glClearDepth(1.0f); // Depth Buffer Setup
    glEnable(GL_DEPTH_TEST); // Enables Depth Testing
    glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing To Do
    glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations
    return TRUE; // Initialization Went OK
    }

    int DrawGLScene(GLvoid) // Here's Where We Do All The Drawing
    {
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear Screen And Depth Buffer
    glLoadIdentity(); // Reset The Current Modelview Matrix
    glTranslatef(-1.5f,0.0f,-6.0f); // Move Left 1.5 Units And Into The Screen 6.0
    glBegin(GL_TRIANGLES); // Drawing Using Triangles
    glColor3f(1.0f,0.0f,0.0f); // Set The Color To Red
    glVertex3f( 0.0f, 1.0f, 0.0f); // Top
    glColor3f(0.0f,1.0f,0.0f); // Set The Color To Green
    glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left
    glColor3f(0.0f,0.0f,1.0f); // Set The Color To Blue
    glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right
    glEnd(); // Finished Drawing The Triangle
    glTranslatef(3.0f,0.0f,0.0f); // Move Right 3 Units
    glColor3f(0.5f,0.5f,1.0f); // Set The Color To Blue One Time Only
    glBegin(GL_QUADS); // Draw A Quad
    glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left
    glVertex3f( 1.0f, 1.0f, 0.0f); // Top Right
    glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right
    glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left
    glEnd(); // Done Drawing The Quad
    return TRUE; // Keep Going
    }

    GLvoid KillGLWindow(GLvoid) // Properly Kill The Window
    {
    if (fullscreen) // Are We In Fullscreen Mode?
    {
    ChangeDisplaySettings(NULL,0); // If So Switch Back To The Desktop
    ShowCursor(TRUE); // Show Mouse Pointer
    }

    if (hRC) // Do We Have A Rendering Context?
    {
    if (!wglMakeCurrent(NULL,NULL)) // Are We Able To Release The DC And RC Contexts?
    {
    MessageBox(NULL,"Release Of DC And RC Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);
    }

    if (!wglDeleteContext(hRC)) // Are We Able To Delete The RC?
    {
    MessageBox(NULL,"Release Rendering Context Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);
    }
    hRC=NULL; // Set RC To NULL
    }

    if (hDC && !ReleaseDC(hWnd,hDC)) // Are We Able To Release The DC
    {
    MessageBox(NULL,"Release Device Context Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);
    hDC=NULL; // Set DC To NULL
    }

    if (hWnd && !DestroyWindow(hWnd)) // Are We Able To Destroy The Window?
    {
    MessageBox(NULL,"Could Not Release hWnd.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);
    hWnd=NULL; // Set hWnd To NULL
    }

    if (!UnregisterClass("OpenGL",hInstance)) // Are We Able To Unregister Class
    {
    MessageBox(NULL,"Could Not Unregister Class.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);
    hInstance=NULL; // Set hInstance To NULL
    }
    }

    /* This Code Creates Our OpenGL Window. Parameters Are: *
    * title - Title To Appear At The Top Of The Window *
    * width - Width Of The GL Window Or Fullscreen Mode *
    * height - Height Of The GL Window Or Fullscreen Mode *
    * bits - Number Of Bits To Use For Color (8/16/24/32) *
    * fullscreenflag - Use Fullscreen Mode (TRUE) Or Windowed Mode (FALSE) */

    BOOL CreateGLWindow(char* title, int width, int height, int bits, bool fullscreenflag)
    {
    GLuint PixelFormat; // Holds The Results After Searching For A Match
    WNDCLASS wc; // Windows Class Structure
    DWORD dwExStyle; // Window Extended Style
    DWORD dwStyle; // Window Style
    RECT WindowRect; // Grabs Rectangle Upper Left / Lower Right Values
    WindowRect.left=(long)0; // Set Left Value To 0
    WindowRect.right=(long)width; // Set Right Value To Requested Width
    WindowRect.top=(long)0; // Set Top Value To 0
    WindowRect.bottom=(long)height; // Set Bottom Value To Requested Height

    fullscreen=fullscreenflag; // Set The Global Fullscreen Flag

    hInstance = GetModuleHandle(NULL); // Grab An Instance For Our Window
    wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; // Redraw On Size, And Own DC For Window.
    wc.lpfnWndProc = (WNDPROC) WndProc; // WndProc Handles Messages
    wc.cbClsExtra = 0; // No Extra Window Data
    wc.cbWndExtra = 0; // No Extra Window Data
    wc.hInstance = hInstance; // Set The Instance
    wc.hIcon = LoadIcon(NULL, IDI_WINLOGO); // Load The Default Icon
    wc.hCursor = LoadCursor(NULL, IDC_ARROW); // Load The Arrow Pointer
    wc.hbrBackground = NULL; // No Background Required For GL
    wc.lpszMenuName = NULL; // We Don't Want A Menu
    wc.lpszClassName = "OpenGL"; // Set The Class Name

    if (!RegisterClass(&wc)) // Attempt To Register The Window Class
    {
    MessageBox(NULL,"Failed To Register The Window Class.","ERROR",MB_OK|MB_ICONEXCLAMATION);
    return FALSE; // Return FALSE
    }

    if (fullscreen) // Attempt Fullscreen Mode?
    {
    DEVMODE dmScreenSettings; // Device Mode
    memset(&dmScreenSettings,0,sizeof(dmScreenSettings )); // Makes Sure Memory's Cleared
    dmScreenSettings.dmSize=sizeof(dmScreenSettings); // Size Of The Devmode Structure
    dmScreenSettings.dmPelsWidth = width; // Selected Screen Width
    dmScreenSettings.dmPelsHeight = height; // Selected Screen Height
    dmScreenSettings.dmBitsPerPel = bits; // Selected Bits Per Pixel
    dmScreenSettings.dmFields=DM_BITSPERPEL|DM_PELSWID TH|DM_PELSHEIGHT;

    // Try To Set Selected Mode And Get Results. NOTE: CDS_FULLSCREEN Gets Rid Of Start Bar.
    if (ChangeDisplaySettings(&dmScreenSettings,CDS_FULLS CREEN)!=DISP_CHANGE_SUCCESSFUL)
    {
    // If The Mode Fails, Offer Two Options. Quit Or Use Windowed Mode.
    if (MessageBox(NULL,"The Requested Fullscreen Mode Is Not Supported By\nYour Video Card. Use Windowed Mode Instead?","NeHe GL",MB_YESNO|MB_ICONEXCLAMATION)==IDYES)
    {
    fullscreen=FALSE; // Windowed Mode Selected. Fullscreen = FALSE
    }
    else
    {
    // Pop Up A Message Box Letting User Know The Program Is Closing.
    MessageBox(NULL,"Program Will Now Close.","ERROR",MB_OK|MB_ICONSTOP);
    return FALSE; // Return FALSE
    }
    }
    }

    if (fullscreen) // Are We Still In Fullscreen Mode?
    {
    dwExStyle=WS_EX_APPWINDOW; // Window Extended Style
    dwStyle=WS_POPUP; // Windows Style
    ShowCursor(FALSE); // Hide Mouse Pointer
    }
    else
    {
    dwExStyle=WS_EX_APPWINDOW | WS_EX_WINDOWEDGE; // Window Extended Style
    dwStyle=WS_OVERLAPPEDWINDOW; // Windows Style
    }

    AdjustWindowRectEx(&WindowRect, dwStyle, FALSE, dwExStyle); // Adjust Window To True Requested Size

    // Create The Window
    if (!(hWnd=CreateWindowEx( dwExStyle, // Extended Style For The Window
    "OpenGL", // Class Name
    title, // Window Title
    dwStyle | // Defined Window Style
    WS_CLIPSIBLINGS | // Required Window Style
    WS_CLIPCHILDREN, // Required Window Style
    0, 0, // Window Position
    WindowRect.right-WindowRect.left, // Calculate Window Width
    WindowRect.bottom-WindowRect.top, // Calculate Window Height
    NULL, // No Parent Window
    NULL, // No Menu
    hInstance, // Instance
    NULL))) // Dont Pass Anything To WM_CREATE
    {
    KillGLWindow(); // Reset The Display
    MessageBox(NULL,"Window Creation Error.","ERROR",MB_OK|MB_ICONEXCLAMATION);
    return FALSE; // Return FALSE
    }

    static PIXELFORMATDESCRIPTOR pfd= // pfd Tells Windows How We Want Things To Be
    {
    sizeof(PIXELFORMATDESCRIPTOR), // Size Of This Pixel Format Descriptor
    1, // Version Number
    PFD_DRAW_TO_WINDOW | // Format Must Support Window
    PFD_SUPPORT_OPENGL | // Format Must Support OpenGL
    PFD_DOUBLEBUFFER, // Must Support Double Buffering
    PFD_TYPE_RGBA, // Request An RGBA Format
    bits, // Select Our Color Depth
    0, 0, 0, 0, 0, 0, // Color Bits Ignored
    0, // No Alpha Buffer
    0, // Shift Bit Ignored
    0, // No Accumulation Buffer
    0, 0, 0, 0, // Accumulation Bits Ignored
    16, // 16Bit Z-Buffer (Depth Buffer)
    0, // No Stencil Buffer
    0, // No Auxiliary Buffer
    PFD_MAIN_PLANE, // Main Drawing Layer
    0, // Reserved
    0, 0, 0 // Layer Masks Ignored
    };

    if (!(hDC=GetDC(hWnd))) // Did We Get A Device Context?
    {
    KillGLWindow(); // Reset The Display
    MessageBox(NULL,"Can't Create A GL Device Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);
    return FALSE; // Return FALSE
    }

    if (!(PixelFormat=ChoosePixelFormat(hDC,&pfd))) // Did Windows Find A Matching Pixel Format?
    {
    KillGLWindow(); // Reset The Display
    MessageBox(NULL,"Can't Find A Suitable PixelFormat.","ERROR",MB_OK|MB_ICONEXCLAMATION);
    return FALSE; // Return FALSE
    }

    if(!SetPixelFormat(hDC,PixelFormat,&pfd)) // Are We Able To Set The Pixel Format?
    {
    KillGLWindow(); // Reset The Display
    MessageBox(NULL,"Can't Set The PixelFormat.","ERROR",MB_OK|MB_ICONEXCLAMATION);
    return FALSE; // Return FALSE
    }

    if (!(hRC=wglCreateContext(hDC))) // Are We Able To Get A Rendering Context?
    {
    KillGLWindow(); // Reset The Display
    MessageBox(NULL,"Can't Create A GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);
    return FALSE; // Return FALSE
    }

    if(!wglMakeCurrent(hDC,hRC)) // Try To Activate The Rendering Context
    {
    KillGLWindow(); // Reset The Display
    MessageBox(NULL,"Can't Activate The GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);
    return FALSE; // Return FALSE
    }

    ShowWindow(hWnd,SW_SHOW); // Show The Window
    SetForegroundWindow(hWnd); // Slightly Higher Priority
    SetFocus(hWnd); // Sets Keyboard Focus To The Window
    ReSizeGLScene(width, height); // Set Up Our Perspective GL Screen

    if (!InitGL()) // Initialize Our Newly Created GL Window
    {
    KillGLWindow(); // Reset The Display
    MessageBox(NULL,"Initialization Failed.","ERROR",MB_OK|MB_ICONEXCLAMATION);
    return FALSE; // Return FALSE
    }

    return TRUE; // Success
    }

    LRESULT CALLBACK WndProc( HWND hWnd, // Handle For This Window
    UINT uMsg, // Message For This Window
    WPARAM wParam, // Additional Message Information
    LPARAM lParam) // Additional Message Information
    {
    switch (uMsg) // Check For Windows Messages
    {
    case WM_ACTIVATE: // Watch For Window Activate Message
    {
    if (!HIWORD(wParam)) // Check Minimization State
    {
    active=TRUE; // Program Is Active
    }
    else
    {
    active=FALSE; // Program Is No Longer Active
    }

    return 0; // Return To The Message Loop
    }

    case WM_SYSCOMMAND: // Intercept System Commands
    {
    switch (wParam) // Check System Calls
    {
    case SC_SCREENSAVE: // Screensaver Trying To Start?
    case SC_MONITORPOWER: // Monitor Trying To Enter Powersave?
    return 0; // Prevent From Happening
    }
    break; // Exit
    }

    case WM_CLOSE: // Did We Receive A Close Message?
    {
    PostQuitMessage(0); // Send A Quit Message
    return 0; // Jump Back
    }

    case WM_KEYDOWN: // Is A Key Being Held Down?
    {
    keys[wParam] = TRUE; // If So, Mark It As TRUE
    return 0; // Jump Back
    }

    case WM_KEYUP: // Has A Key Been Released?
    {
    keys[wParam] = FALSE; // If So, Mark It As FALSE
    return 0; // Jump Back
    }

    case WM_SIZE: // Resize The OpenGL Window
    {
    ReSizeGLScene(LOWORD(lParam),HIWORD(lParam)); // LoWord=Width, HiWord=Height
    return 0; // Jump Back
    }
    }

    // Pass All Unhandled Messages To DefWindowProc
    return DefWindowProc(hWnd,uMsg,wParam,lParam);
    }

    int WINAPI WinMain( HINSTANCE hInstance, // Instance
    HINSTANCE hPrevInstance, // Previous Instance
    LPSTR lpCmdLine, // Command Line Parameters
    int nCmdShow) // Window Show State
    {
    MSG msg; // Windows Message Structure
    BOOL done=FALSE; // Bool Variable To Exit Loop

    // Ask The User Which Screen Mode They Prefer
    if (MessageBox(NULL,"Would You Like To Run In Fullscreen Mode?", "Start FullScreen?",MB_YESNO|MB_ICONQUESTION)==IDNO)
    {
    fullscreen=FALSE; // Windowed Mode
    }

    // Create Our OpenGL Window
    if (!CreateGLWindow("NeHe's Color Tutorial",640,480,16,fullscreen))
    {
    return 0; // Quit If Window Was Not Created
    }

    while(!done) // Loop That Runs While done=FALSE
    {
    if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) // Is There A Message Waiting?
    {
    if (msg.message==WM_QUIT) // Have We Received A Quit Message?
    {
    done=TRUE; // If So done=TRUE
    }
    else // If Not, Deal With Window Messages
    {
    TranslateMessage(&msg); // Translate The Message
    DispatchMessage(&msg); // Dispatch The Message
    }
    }
    else // If There Are No Messages
    {
    // Draw The Scene. Watch For ESC Key And Quit Messages From DrawGLScene()
    if ((active && !DrawGLScene()) || keys[VK_ESCAPE]) // Active? Was There A Quit Received?
    {
    done=TRUE; // ESC or DrawGLScene Signalled A Quit
    }
    else // Not Time To Quit, Update Screen
    {
    SwapBuffers(hDC); // Swap Buffers (Double Buffering)
    }

    if (keys[VK_F1]) // Is F1 Being Pressed?
    {
    keys[VK_F1]=FALSE; // If So Make Key FALSE
    KillGLWindow(); // Kill Our Current Window
    fullscreen=!fullscreen; // Toggle Fullscreen / Windowed Mode
    // Recreate Our OpenGL Window
    if (!CreateGLWindow("NeHe's Color Tutorial",640,480,16,fullscreen))
    {
    return 0; // Quit If Window Was Not Created
    }
    }
    }
    }

    // Shutdown
    KillGLWindow(); // Kill The Window
    return (msg.wParam); // Exit The Program
    }


صفحه 1 از 2 12 آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •