冰楓論壇

 找回密碼
 立即註冊
查看: 1254|回覆: 3

[心得] CSO Opengl 大部分的功能寫法

  [複製鏈接]

6

主題

0

好友

10

積分

新手上路

Rank: 1

UID
232374
帖子
15
主題
6
精華
0
積分
10
楓幣
88
威望
8
存款
0
贊助金額
0
推廣
0
GP
15
閱讀權限
10
性別
保密
在線時間
30 小時
註冊時間
2018-4-20
最後登入
2020-9-19
發表於 2018-5-11 16:43:39 |顯示全部樓層
可能對大部分的人有用的功能吧  近期有人找我要源碼 如果是技術交流 我很樂意分享 但是妳壹直讓我發源碼  我只是發原理和寫法 如果妳只是想直接編譯 那是不可能的

准星的几种写法
Hook  glViewport
//获取准星坐标
void WINAPI HookOpengl::extglViewport(GLint x, GLint y, GLsizei width, GLsizei height)
{
                 glWidth = width;
                 glHeight = height;
                 glViewport(x, y, width, height);
}

//画出准星 Hook glColor3f
void WINAPI HookOpengl::extglColor3f(GLfloat red, GLfloat green, GLfloat blue)
{
                 if (g_Vars.WallHack.SightBead == 2 && g_Vars.WallHack.Enable)
                 {
                         glCrosshair();
                 }
                 glColor3f(red, green, blue);
}
void WINAPI glCrosshair()
         {
                 float params[4];


                 glEnable(GL_BLEND);
                 glDisable(GL_TEXTURE_2D);
                 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
                 glGetFloatv(GL_CURRENT_COLOR, params);
                 glColor3f(1.0f, 0.0f, 0.0f);
                 glBegin(GL_POLYGON);

                 for (int i = 10; i != 0; i--)
                 {
                         glVertex2f(cos(0.6283185307179586f*i)*3.0f + (glWidth / 2), sin(0.6283185307179586f*i)*3.0f + (glHeight / 2));
                 }

                 glEnd();
                 glDisable(GL_BLEND);
                 glEnable(GL_TEXTURE_2D);
                 glColor3f(params[0], params[1], params[2]);
         }
第二种准星写法 Hook glEnable
void WINAPI HookOpengl::extglEnable(GLenum cap)
         {

                 if (g_Vars.WallHack.SightBead == 1 && g_Vars.WallHack.Enable && !Functions::Visuals::g_Menu.Visible)
                 {
                                 GLfloat color[4];
                                 GLint iDim[4];
                                 glGetFloatv(GL_CURRENT_COLOR, color);
                                 glPushMatrix();
                                 glLoadIdentity();
                                 glDisable(GL_TEXTURE_2D);

                                 glGetIntegerv(GL_VIEWPORT, iDim);
                                 glColor4f(1.0f, 1.0f, 0.0f, 0.7f);
                                 glLineWidth(1.5f);

                                 glBegin(GL_LINES);
                                 glVertex2i(iDim[2] / 2, (iDim[3] / 2) - 12);
                                 glVertex2i(iDim[2] / 2, (iDim[3] / 2) - 5);

                                 glVertex2i(iDim[2] / 2, (iDim[3] / 2) + 5);
                                 glVertex2i(iDim[2] / 2, (iDim[3] / 2) + 12);

                                 glVertex2i((iDim[2] / 2) - 12, iDim[3] / 2);
                                 glVertex2i((iDim[2] / 2) - 5, iDim[3] / 2);

                                 glVertex2i((iDim[2] / 2) + 5, iDim[3] / 2);
                                 glVertex2i((iDim[2] / 2) + 12, iDim[3] / 2);
                                 glEnd();

                                 glColor3f(color[0], color[1], color[2]);

                                 glBegin(GL_POINTS);
                                 glVertex2i((iDim[2] / 2) - 3, iDim[3] / 2);
                                 glVertex2i((iDim[2] / 2) + 3, iDim[3] / 2);
                                 glVertex2i(iDim[2] / 2, (iDim[3] / 2) - 3);
                                 glVertex2i(iDim[2] / 2, (iDim[3] / 2) + 3);
                                 glEnd();

                                 glEnable(GL_TEXTURE_2D);
                                 glPopMatrix();
                 }
                 glEnable(cap);
         }
其他的
1.png
2.png

另外我在國外發現還有另外繪圖的方法 遊戲的接口 有意思的可以起研究
3.png

已有 1 人評分GP 收起 理由
刀劍神域 + 1 精品文章!

總評分: GP + 1   查看全部評分

複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$

31

主題

1

好友

45

積分

新手上路

Rank: 1

UID
203630
帖子
542
主題
31
精華
0
積分
45
楓幣
13684
威望
38
存款
0
贊助金額
0
推廣
0
GP
23
閱讀權限
10
性別
保密
在線時間
142 小時
註冊時間
2017-8-29
最後登入
2020-9-28

Android勳章 2017年紀念勳章 太陽勳章 幼兒勳章 性別(女) 性別(男) 神手勳章 音樂勳章 Apple勳章 懶人勳章 2018年紀念勳章 版主勳章 發帖達人 積分勳章 私服達人 聖誕節紀念勳章 聖誕節紀念勳章2 2018聖誕節紀念勳章 2019年紀念勳章 論壇粉絲 解說達人 熱心助人 2020年紀念勳章

發表於 2018-5-11 17:36:11 來自手機 |顯示全部樓層
回覆

使用道具 舉報

16

主題

0

好友

389

積分

技術師

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

UID
100894
帖子
361
主題
16
精華
0
積分
389
楓幣
3051
威望
380
存款
0
贊助金額
0
推廣
0
GP
78
閱讀權限
100
性別
在線時間
185 小時
註冊時間
2015-4-27
最後登入
2020-9-28

Android勳章 Apple勳章 2019年紀念勳章 2019中秋節紀念勳章

發表於 2018-5-11 18:22:42 |顯示全部樓層
易语言的返回值检测表示头痛 看来还是必须用C++来写在调用会比较好
回覆

使用道具 舉報

4

主題

0

好友

-22

積分

限制會員

UID
227477
帖子
51
主題
4
精華
0
積分
-22
楓幣
112
威望
-22
存款
0
贊助金額
0
推廣
0
GP
2
閱讀權限
0
性別
保密
在線時間
9 小時
註冊時間
2018-3-11
最後登入
2020-1-9

Android勳章

發表於 2018-5-11 21:38:16 |顯示全部樓層
Pos雜種狗 偷我源碼
回覆

使用道具 舉報

您需要登入後才可以回帖 登入 | 立即註冊

正在連接伺服器...
打開冰楓聊天室
廣告刊登意見回饋關於我們職位招聘本站規範DMCA隱私權政策

Copyright © 2011-2020 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|意見反饋|手機版|Archiver|冰楓論壇

GMT+8, 2020-9-29 16:25

APP Store下載 Play Store下載
回頂部