MFC+OpenGL 紋理貼圖後再繪製線條兩個顏色相互影響
OpenGL渲染方式比GDI+強太多了,所以做繪圖操作時我選擇了OpenGL(新手),但是我在紋理貼圖時出現了這樣一個問題,就是我在貼完圖後再繼續在繪製線條什麼的最後::SwapBuffers(hDC_); glFlush(); 也就是輸出到顯示器時紋理貼圖的顏色竟然被線條的顏色影響了,如:
而如果我只是貼圖而不繪製線條就是沒有用到glColor3f()重新設定顏色的時候貼圖還是很好的,如:
百度了很久終於讓我找到了一個解決的方法,也就是在glClear()之後先獲取當前的顏色值fCurrentColor在最後輸出之前還原,如:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear Screen And Depth Buffer
GLfloat fCurrentColor[4];
glGetFloatv(GL_CURRENT_COLOR, fCurrentColor);
...
glColor4fv(fCurrentColor);
::SwapBuffers(hDC_);
glFlush();
相關推薦
MFC+OpenGL 紋理貼圖後再繪製線條兩個顏色相互影響
OpenGL渲染方式比GDI+強太多了,所以做繪圖操作時我選擇了OpenGL(新手),但是我在紋理貼圖時出現了這樣一個問題,就是我在貼完圖後再繼續在繪製線條什麼的最後::SwapBuffers(hDC_); glFlush(); 也就是輸出到顯示器時紋理貼圖的顏色竟然
2.x終於照著教程,成功使用OpenGL ES 繪製紋理貼圖,增加了灰度圖
在之前成功繪製變色的幾何圖形之後,今天利用Openg ES的可程式設計管線繪製出第一張紋理。學校時候不知道OpenGL的重要性,怕晦澀的語法,沒有跟老師學習OpenGL的環境配置,如今只能利用cocos2dx 2.2.3 配置好的環境學習OpenGL ES。原始碼來自《co
Opengl ES 1.x NDK實例開發之六:紋理貼圖
otto absolute decode super rep mit his viewport 一個 開發框架介紹請參見:Opengl ES NDK實例開發之中的一個:搭建開發框架 本章在第三章(Opengl ES 1.x NDK實例開發之三:多邊形的旋轉)的基礎
android平臺下OpenGL ES 3.0實現2D紋理貼圖顯示bitmap
OpenGL ES 3.0學習實踐 android平臺下OpenGL ES 3.0從零開始 android平臺下OpenGL ES 3.0繪製純色背景 android平臺下OpenGL ES 3.0繪製圓點、直線和三角形 android平臺下OpenGL E
OpenGL ES (3):平面圖形-表面紋理貼圖
1.簡介 上一篇已經將一個平面圖形繪製出來了,這一次我們將在上一次繪製出來的圖形的表面上進行紋理貼圖。 圖片準備:(寬高須為2的N次方) 最終圖片是以Bitmap形式。現在考慮如何把這張圖片對映到繪製的平面上? 所以這裡也需要一個數組float[] 用於設定紋理座
OpenGL ES (16): 紋理貼圖
1.前言 圖片如下:紋理座標為 左上角為(0,0),右下角為(1,1) 我們繪製一個正方形,頂點座標資料如下: 此次程式碼不包含z軸,預設為0。 要做的事就是把圖片貼到正方形的表面,並繪製出正方形。 所以上面的紋理座標和頂點座標的順序要一致。這樣繪製的圖片才
在OpenGL中進行多紋理貼圖
int Status=FALSE; // 狀態指示器 AUX_RGBImageRec *TextureImage[6]; // 建立紋理的儲存空間 memset(TextureImage,0,sizeof(void *)*6); // 將指標設為 NUL
【一步步學OpenGL 16】 -《紋理貼圖》
教程16 紋理貼圖基礎 背景 紋理貼圖意思是將任意型別的圖片貼在3d模型的一個或者多個面上。圖片可以是任意的但通常是一種通用的樣式,比如:磚塊、植物、荒蕪的土地等等,可以提高場景的真實性。比較下面兩幅圖片: 為了實現紋理貼圖我們需
使用glfw庫將OpenCV讀取到的圖片作為OpenGL的背景紋理貼圖
轉載請註明出處:http://my.csdn.NET/ye_shen_wei_mian 前段時間接觸過一點glfw,個人而言不太喜歡freeglut的回撥機制,glfw不失為一個可以替代的選擇。 使用glfw應當注意以下幾點: 1;glfw是可以使用在多執行緒當中使用的。
Cocos2dx-OpenGL ES2.0教程:紋理貼圖(6)
在上一篇文章中,我們介紹瞭如何繪製一個立方體,裡面涉及的知識點有VBO(Vertex Buffer Object)、IBO(Index Buffer Object)和MVP(Modile-View-Projection)變換。 本文將在教程4的基礎之上,新增紋理貼圖支
Android OpenGL ES正方體紋理貼圖(每個面一張)
正方體的紋理貼圖步驟如下: 1.陣列 1.1:頂點陣列 1.2:三角形 1.3:貼圖陣列 2.onSurfaceChanged:與3D的一樣 3.onSurfaceCreated:需要新增東西 3.1允許2D貼圖gl.glEnable(GL10.GL_TEXTURE_2D
OpenGL ES 紋理貼圖
頂點座標和紋理座標 在沒有投影矩陣的情況下,我們要傳給頂點著色器的座標值都在(-1,1)範圍內,超出了這個範圍將不可見。因此對於一個四邊形的繪製,我們經常看到下面的頂點座標: GLfloat vertices[] = { // P
OpenGL曲面紋理貼圖技術--波浪的模擬
{ GLuint PixelFormat; // 儲存查詢匹配的結果 WNDCLASS wc; // 視窗類結構 DWORD dwExStyle; // 擴充套件視窗風格 DWORD dwStyle; // 視窗風格 RECT WindowRect; // 取得矩形的左
Opengl ES 1.x NDK例項開發之六:紋理貼圖
本章在第三章(Opengl ES 1.x NDK例項開發之三:多邊形的旋轉)的基礎上演示如何使用紋理貼圖,分別實現了三角形紋理貼圖和正方形紋理貼圖。 【例項講解】 OpenglES要求生成紋理的圖片長寬為2的n次方,支援各種格式(BMP, GIF, JPEG, PNG..
OpenGL著色器程式解析--紋理貼圖
背景紋理貼圖意思是將任意型別的圖片貼在3d模型的一個或者多個面上。圖片可以是任意的但通常是一種通用的樣式,比如:磚塊、植物、荒蕪的土地等等,可以提高場景的真實性。比較下面兩幅圖片: 為了實現紋理貼圖我們需要做三件事:將一張貼圖載入到OpenGL中,提供紋理座標和頂點(將紋理對
Opengl實現紋理貼圖
紋理貼圖的步驟建立紋理物件,併為它指定一個紋理確定紋理如何應用到每個畫素上啟用紋理貼圖功能繪製場景,提供紋理座標和幾何圖形坐Tips:紋理座標必須在RGBA模式下才能使用,在顏色索引模式下是未定義的行為一、建立紋理物件,併為它指定一個紋理static GLuint texNa
Qt+OpenGL之紋理貼圖
NeNe的程式碼中是載入到了一個正方體當中,程式碼很長。其實單純的想要紋理貼圖是很方便的。具體的紋理貼圖技術在NeNe的書中的有很詳細的介紹。 .h檔案: #ifndef PICGLWIDGET_H #define PICGLWIDGET_H #include <
從零開始的openGL——四、紋理貼圖與n次B樣條曲線
前言 在上篇文章中,介紹瞭如何載入繪製模型以及滑鼠互動的實現,並且遺留了個問題,就是沒有模型表面沒有紋理,看起來很醜。這篇文章將介紹如何貼紋理,以及曲線的繪製。 紋理貼圖 紋理載入 既然是貼圖,那首先我們得要有合適的紋理圖片,openGL中支援的圖片為bmp格式。在這裡我還用到了個額外的庫glaux,但當時在
WebGL---6.3D紋理貼圖
一、例項程式碼 <html> <canvas id='c' width='640' height='480'></canvas> <script type="x-shader/x-vertex" id="vertex-shader">
(二)MFC學習之貼圖
環境:win10+vs2017+mfc 涉及到的內容: 1,點陣圖的載入 CBitmap * m_Bitmap=new CBitmap; m_BitMAP->m_hObject=LoadImage(NULL,"**.BMP",IMAGE_BITMAP,0,0,LR