亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ddex1.cpp

?? 人工智能遺傳算法,經過改進,希望對大家有幫助,常常聯系啊.
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
/*==========================================================================
 *
 *  Copyright (C) 1995-1996 Microsoft Corporation. All Rights Reserved.
 *
 *  File:       ddex1.cpp
 *  Content:    Direct Draw example program 1.  Creates a Direct Draw 
 *              object and then a primary surface with a back buffer.
 *              Slowly flips between the primary surface and the back
 *              buffer.  Press F12 to terminate the program.
 *
 ***************************************************************************/

#define NAME "DDExample1"
#define TITLE "Direct Draw Example 1"

#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>
#include <ddraw.h>
#include <fstream.h>
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
#include <time.h>
#include <stdio.h>
#include "resource.h"
#include "gui16.h"

#define TIMER_ID        1
#define TIMER_RATE      30

LPDIRECTDRAWSURFACE     lpDDSPrimary;   // DirectDraw primary surface
LPDIRECTDRAWSURFACE     lpDDSBack;      // DirectDraw back surface
LPDIRECTDRAWSURFACE     lpDDSZBuffer;
LPDIRECTDRAWSURFACE     lpDDSEndBmp;
char*					txt[80];
int						lines;
BOOL                    bActive;        // is application active?
BOOL                    bQuit = false;
BOOL                    bClear = true;
int 					phase = 0;
HANDLE					thandle;
HWND                hwnd;

CPointList p1(2000);
CPointList p2(2000);
CFaceList face(4000);
CONVERT_MATRIX3D m1,m2,m4;
POINT3D pot,pot1;

CPointList p3(200);
CPointList p4(200);
CFaceList face1(400);
CTextureList tex(10);
CONVERT_MATRIX3D m5,m6,m7,m8;
POINT3D pot2,pot3;

DWORD WINAPI demo(LPVOID lpparm);
void lineDemo1(DDSURFACEDESC* ddsd);
void lineDemo2(DDSURFACEDESC* ddsd);
void circleDemo1(DDSURFACEDESC* ddsd);
void circleDemo2(DDSURFACEDESC* ddsd);
void ellipseDemo1(DDSURFACEDESC* ddsd);
void ellipseDemo2(DDSURFACEDESC* ddsd);
void rectDemo1(DDSURFACEDESC* ddsd);
void rectDemo2(DDSURFACEDESC* ddsd);
void polygonDemo1(DDSURFACEDESC* ddsd);
void polygonDemo2(DDSURFACEDESC* ddsd);
void fsDemo1(DDSURFACEDESC* ddsd);
BOOL demo3dInit();
BOOL demo2dInit();
void clearUp();

time_t tt;
long frames,rate,k;
POINT3D potLight;

/*
 * finiObjects
 *
 * finished with all objects we use; release them
 */

static void finiObjects( void )
{
    if( lpDD != NULL )
    {
        if( lpDDSPrimary != NULL )
        {
            lpDDSPrimary->Release();
            lpDDSPrimary = NULL;
        }
		if( lpDDSZBuffer != NULL )
        {
            lpDDSZBuffer->Release();
            lpDDSZBuffer = NULL;
        }
		if( lpDDSEndBmp != NULL )
        {
            lpDDSEndBmp->Release();
            lpDDSEndBmp = NULL;
        }
		lpDD->Release();
        lpDD = NULL;
    }
	clearUp();
} /* finiObjects */

char szMsg[] = "計算機圖形學算法演示 (F12 退出)";
char szMsg1[] = "按↓鍵前進,按↑鍵后退";
char szFrontMsg[][40] = {	"普通直線",
							"反走樣直線",
							"畫圓",
							"圓填充",
							"畫橢圓",
							"橢圓填充",
							"畫矩形",
							"矩形填充",
							"畫多邊形",
							"多邊形填充",
							"分形圖",
							"三維圖形",
							"紋理貼圖",
							"The End"
						};	
char szBackMsg[] = "計算機圖形學算發演示 (F12 退出)";

long FAR PASCAL WindowProc( HWND hWnd, UINT message, 
                            WPARAM wParam, LPARAM lParam )
{
   // PAINTSTRUCT ps;
  //  RECT        rc;
   // SIZE        size;

    switch( message )
    {
    case WM_ACTIVATEAPP:
        bActive = wParam;
        break;

    case WM_CREATE:
        break;

    case WM_SETCURSOR:
        SetCursor(NULL);
        return TRUE;
    case WM_KEYDOWN:
        switch( wParam )
        {
        case VK_ESCAPE:
        case VK_F12:
			bQuit = true;
			while(WaitForSingleObject(thandle,200) != WAIT_OBJECT_0)
				;
            PostMessage(hWnd, WM_CLOSE, 0, 0);
            break;
		case VK_DOWN:
			bClear = true;
			if(phase < 13)
				phase++;
			if(phase == 10)
				bClear = false;
			break;
		case  VK_UP:
			bClear = true;
			if(phase > 0)
				phase--;
			if(phase == 10|| phase==13)
				bClear = false;
			break;
        }
        break;

    case WM_PAINT:
        break;

    case WM_DESTROY:
        finiObjects();
        PostQuitMessage( 0 );
        break;
    }

    return DefWindowProc(hWnd, message, wParam, lParam);

} /* WindowProc */

/*
 * doInit - do work required for every instance of the application:
 *                create the window, initialize data
 */
static BOOL doInit( HINSTANCE hInstance, int nCmdShow )
{	    
    WNDCLASS            wc;
    DDSURFACEDESC       ddsd;
    DDSCAPS             ddscaps;
    HRESULT             ddrval;
    HDC                 hdc;
    char                buf[256];

    /*
     * set up and register window class
     */
    wc.style = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc = WindowProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hInstance;
    wc.hIcon = LoadIcon( hInstance, IDI_APPLICATION );
    wc.hCursor = LoadCursor( NULL, IDC_ARROW );
    wc.hbrBackground = NULL;
    wc.lpszMenuName = NAME;
    wc.lpszClassName = NAME;
    RegisterClass( &wc );
    
    /*
     * create a window
     */
    hwnd = CreateWindowEx(
        WS_EX_TOPMOST,
        NAME,
        TITLE,
        WS_POPUP,
        0, 0,
        GetSystemMetrics( SM_CXSCREEN ),
        GetSystemMetrics( SM_CYSCREEN ),
        NULL,
        NULL,
        hInstance,
        NULL );

    if( !hwnd )
    {
        return FALSE;
    }

    ShowWindow( hwnd, nCmdShow );
    UpdateWindow( hwnd );
//	MessageBox( hwnd, "Hello!", "", MB_OK); 

    /*
     * create the main DirectDraw object
     */
    ddrval = DirectDrawCreate( NULL, &lpDD, NULL );
    if( ddrval == DD_OK )
    {
        // Get exclusive mode
        ddrval = lpDD->SetCooperativeLevel( hwnd,
                                DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN );
        if(ddrval == DD_OK )
        {
            ddrval = lpDD->SetDisplayMode( 640,480, 16 );
            if( ddrval == DD_OK )
            {
                // Create the primary surface with 1 back buffer
                ddsd.dwSize = sizeof( ddsd );
				ddsd.dwFlags = DDSD_CAPS | 
							   DDSD_BACKBUFFERCOUNT;
                ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE |
                                      DDSCAPS_FLIP | 
                                      DDSCAPS_COMPLEX;
                ddsd.dwBackBufferCount = 1;
                ddrval = lpDD->CreateSurface( &ddsd, &lpDDSPrimary, NULL );
                if( ddrval == DD_OK )
                {
                    // Get a pointer to the back buffer
                    ddscaps.dwCaps = DDSCAPS_BACKBUFFER;
                    ddrval = lpDDSPrimary->GetAttachedSurface(&ddscaps, 
                                                          &lpDDSBack);
                    if( ddrval == DD_OK )
                    {
						LOGBRUSH brush;
						RECT rc;
						brush.lbStyle=BS_SOLID ;
						brush.lbColor=(COLORREF)0x00000000;
						HBRUSH hbrush=CreateBrushIndirect(&brush);
						GetClientRect(hwnd, &rc);
                        // draw some text.
                        if (lpDDSPrimary->GetDC(&hdc) == DD_OK)
                        {
							FillRect(hdc,&rc,hbrush);
                            lpDDSPrimary->ReleaseDC(hdc);
                        }

                        if (lpDDSBack->GetDC(&hdc) == DD_OK)
                        {
							FillRect(hdc,&rc,hbrush);
                            lpDDSBack->ReleaseDC(hdc);
                        }
						DeleteObject(hbrush);
						//Create Z buffer.
						ddsd.dwFlags = DDSD_CAPS | 
									   DDSD_WIDTH|
									   DDSD_HEIGHT|
									   DDSD_ZBUFFERBITDEPTH ;
						ddsd.ddsCaps.dwCaps = DDSCAPS_ZBUFFER|DDSCAPS_SYSTEMMEMORY ;
						ddsd.dwWidth = 640;
						ddsd.dwHeight = 480;
						ddsd.dwZBufferBitDepth = 16;
						ddrval = lpDD->CreateSurface( &ddsd, &lpDDSZBuffer, NULL );
						if(ddrval == DD_OK)
						{	lpDDSBack->AddAttachedSurface(lpDDSZBuffer);
							if (demo2dInit())
								if(demo3dInit())
								{	frames=0;
									time(&tt);
									DWORD tID;
									if((thandle = CreateThread(NULL,0,demo,NULL,0,&tID)) != NULL)
										return TRUE;
								}
						}
                    }
                }
            }
        }
    }

    wsprintf(buf, "Direct Draw Init Failed (%08lx)\n", ddrval );
    MessageBox( hwnd, buf, "ERROR", MB_OK );
    finiObjects();
    DestroyWindow( hwnd );
    return FALSE;
} /* doInit */

void clearUp()
{	for(int i=0;i<lines;i++)
		delete[] txt[i];
}

#define MAX_LINE_LENTH 80
#define MAX_LINES 80
BOOL demo2dInit()
{	if(loadBitmap(&lpDDSEndBmp,"end.bmp") == FALSE)
		return FALSE;
	char buf[MAX_LINE_LENTH];
	ifstream ifs("end.txt");
	if(!ifs)
		return FALSE;
	lines = MAX_LINES;
	for(int i=0;i<MAX_LINES;i++)
	{	ifs.getline( buf,MAX_LINE_LENTH-1);
		if((txt[i] = new char[strlen(buf)+1]) == NULL)
		{	lines = i;
			return FALSE;
		}
		strcpy(txt[i],buf);
		if(ifs.eof())
		{	lines = i+1;
			break;
		}
	}
	return TRUE;
}

BOOL demo3dInit()
{	POINT3D potp;
	TRIANGLE3D trgl;
	potp.x = 0, potp.y = 0, potp.z = 0;
	p3.addPoint(&potp);
	potp.x = 500, potp.y = 0, potp.z = 0;
	p3.addPoint(&potp);
	potp.x = 500, potp.y = 500, potp.z = 0;
	p3.addPoint(&potp);
	potp.x = 0, potp.y = 500, potp.z = 0;
	p3.addPoint(&potp);
	potp.x = 0, potp.y = 0, potp.z = 500;
	p3.addPoint(&potp);
	potp.x = 500, potp.y = 0, potp.z = 500;
	p3.addPoint(&potp);
	potp.x = 500, potp.y = 500, potp.z = 500;
	p3.addPoint(&potp);
	potp.x = 0, potp.y = 500, potp.z = 500;
	p3.addPoint(&potp);
	potp.x = 200, potp.y = 200, potp.z = 200;
	p3.addPoint(&potp);
	potp.x = 300, potp.y = 200, potp.z = 200;
	p3.addPoint(&potp);
	potp.x = 300, potp.y = 300, potp.z = 200;
	p3.addPoint(&potp);
	potp.x = 200, potp.y = 300, potp.z = 200;
	p3.addPoint(&potp);
	potp.x = 200, potp.y = 200, potp.z = 300;
	p3.addPoint(&potp);
	potp.x = 300, potp.y = 200, potp.z = 300;
	p3.addPoint(&potp);
	potp.x = 300, potp.y = 300, potp.z = 300;
	p3.addPoint(&potp);
	potp.x = 200, potp.y = 300, potp.z = 300;
	p3.addPoint(&potp);
/*	trgl.p1=3 , trgl.p2=2 , trgl.p3=1 ;
	face1.addTriangle(&trgl);
	trgl.p1=3 , trgl.p2=1 , trgl.p3=0 ;
	face1.addTriangle(&trgl);
	trgl.p1=3 , trgl.p2=0 , trgl.p3=4 ;
	face1.addTriangle(&trgl);
	trgl.p1=3 , trgl.p2=4 , trgl.p3=7 ;
	face1.addTriangle(&trgl);
	trgl.p1=0 , trgl.p2=1 , trgl.p3=4 ;
	face1.addTriangle(&trgl);
	trgl.p1=4 , trgl.p2=1 , trgl.p3=5 ;
	face1.addTriangle(&trgl);
	trgl.p1=3 , trgl.p2=7 , trgl.p3=6 ;
	face1.addTriangle(&trgl);
	trgl.p1=3 , trgl.p2=6 , trgl.p3=2 ;
	face1.addTriangle(&trgl);
	trgl.p1=7 , trgl.p2=4 , trgl.p3=5 ;
	face1.addTriangle(&trgl);
	trgl.p1=6 , trgl.p2=7 , trgl.p3=5 ;
	face1.addTriangle(&trgl);
	trgl.p1=6 , trgl.p2=5 , trgl.p3=2 ;
	face1.addTriangle(&trgl);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区国产盗摄色噜噜| 国产一区二区看久久| 麻豆精品视频在线| 国产69精品久久777的优势| 欧美欧美欧美欧美| 国产精品午夜在线| 看电视剧不卡顿的网站| 在线免费av一区| 国产日韩精品一区二区三区| 日韩电影在线观看电影| 色综合久久中文综合久久牛| 国产日本欧美一区二区| 麻豆成人久久精品二区三区红| 色哟哟一区二区在线观看| 国产色婷婷亚洲99精品小说| 久久激情综合网| 91精品国产综合久久香蕉麻豆 | 国产精品自在欧美一区| 欧美色视频一区| 综合久久久久久| av在线一区二区三区| 国产精品免费看片| 国产成人精品一区二| 久久久久综合网| 国产成人免费在线视频| 精品国产乱码久久| 麻豆91小视频| 欧美成人一区二区三区片免费| 午夜视频在线观看一区二区| 在线日韩国产精品| 亚洲国产精品麻豆| 欧美亚洲愉拍一区二区| 一区二区成人在线视频| 在线看国产一区二区| 亚洲综合色自拍一区| 精品污污网站免费看| 午夜精品免费在线| 91精品婷婷国产综合久久性色| 日韩精彩视频在线观看| 日韩一级完整毛片| 国产一区二区在线影院| 国产欧美一区二区三区在线看蜜臀| 国产高清无密码一区二区三区| 久久嫩草精品久久久精品| 国产夫妻精品视频| 国产精品久久久久精k8| 欧美羞羞免费网站| 日韩av中文在线观看| 欧美精品一区二区久久久 | 五月天一区二区三区| 欧美一激情一区二区三区| 激情另类小说区图片区视频区| 国产欧美日韩不卡| 色94色欧美sute亚洲13| 日本不卡1234视频| 国产视频不卡一区| 在线亚洲精品福利网址导航| 裸体健美xxxx欧美裸体表演| 国产午夜精品久久久久久免费视| 成人午夜免费视频| 日韩精品五月天| 国产欧美精品一区| 欧美性猛交xxxxxx富婆| 韩国三级电影一区二区| 亚洲日本丝袜连裤袜办公室| 日韩一区二区三区免费看| jvid福利写真一区二区三区| 午夜国产不卡在线观看视频| 久久久影视传媒| 91极品美女在线| 精品亚洲国内自在自线福利| 亚洲婷婷国产精品电影人久久| 欧美精品一二三四| 岛国av在线一区| 日本成人在线一区| 亚洲视频电影在线| 欧美成人a∨高清免费观看| 91在线观看一区二区| 久久国产尿小便嘘嘘| 亚洲综合一区在线| 国产日韩精品一区二区三区 | 五月婷婷激情综合| 中文字幕不卡三区| 日韩限制级电影在线观看| 91丨九色丨国产丨porny| 国产专区欧美精品| 亚洲自拍偷拍网站| 久久久www成人免费毛片麻豆 | 亚洲一二三四区| 国产人伦精品一区二区| 91精品免费观看| 欧美在线观看18| 91在线播放网址| 成人黄色在线看| 国产精品一区二区久久不卡| 日韩影院精彩在线| 亚洲国产一区二区视频| 亚洲欧美乱综合| 国产精品动漫网站| 国产三级精品视频| 国产亚洲欧美一区在线观看| 精品成人在线观看| 欧美一区二区三区电影| 欧美唯美清纯偷拍| 欧美亚洲动漫精品| 91国产免费看| 日本高清视频一区二区| 99国产精品一区| 91在线视频18| 色噜噜狠狠色综合中国| 一本一道久久a久久精品综合蜜臀| 成人午夜激情影院| a亚洲天堂av| 99久久国产综合精品麻豆| 国产91在线看| 成人黄页毛片网站| 91网上在线视频| 在线免费观看不卡av| 欧美日韩高清不卡| 日韩一区二区影院| 日韩欧美久久一区| 精品国产乱码久久久久久久| 久久夜色精品国产欧美乱极品| 26uuu欧美| 中文字幕欧美区| 亚洲美女屁股眼交3| 一区二区在线观看视频| 亚洲国产成人高清精品| 免费成人你懂的| 国产一区二区三区日韩| 成人免费视频国产在线观看| 不卡一区二区中文字幕| 91丨porny丨最新| 欧美日韩视频一区二区| 日韩欧美视频一区| 欧美激情艳妇裸体舞| 一区二区三区日韩在线观看| 日本免费在线视频不卡一不卡二| 韩国一区二区三区| 成人看片黄a免费看在线| 91精品福利视频| 日韩欧美一二区| 亚洲天堂网中文字| 三级精品在线观看| jvid福利写真一区二区三区| 色狠狠桃花综合| 欧美一区二区三区免费大片| 国产欧美日韩另类视频免费观看| 亚洲精品ww久久久久久p站| 日日夜夜免费精品视频| 成人午夜av在线| 欧美一区二区三区在线视频| 欧美韩国一区二区| 日韩国产欧美在线观看| 不卡视频在线观看| 日韩午夜激情电影| 亚洲美腿欧美偷拍| 极品尤物av久久免费看| 91福利视频在线| 久久久久久97三级| 五月婷婷激情综合| 99久久99久久精品国产片果冻| 91精品国产91久久综合桃花| 1024亚洲合集| 激情文学综合丁香| 欧美日韩午夜影院| 中文字幕在线不卡一区二区三区| 麻豆精品视频在线观看免费| 色视频欧美一区二区三区| 久久久三级国产网站| 午夜婷婷国产麻豆精品| 成人99免费视频| 久久精品视频一区二区三区| 亚洲成人精品影院| 99在线精品一区二区三区| 精品欧美乱码久久久久久1区2区| 一级做a爱片久久| 不卡电影一区二区三区| 久久综合久久综合亚洲| 日本怡春院一区二区| 一本色道综合亚洲| 国产精品不卡在线| 福利电影一区二区| 久久色在线观看| 极品瑜伽女神91| 欧美成人video| 六月丁香婷婷色狠狠久久| 欧美日韩电影在线播放| 亚洲午夜精品在线| 色婷婷久久综合| 亚洲欧美日韩国产手机在线| 粉嫩在线一区二区三区视频| 久久老女人爱爱| 国内精品久久久久影院薰衣草| 日韩精品中文字幕一区二区三区| 亚洲第一成年网| 欧美欧美午夜aⅴ在线观看| 天天操天天干天天综合网| 欧美在线|欧美| 亚洲福利电影网|