原创 OpenGl學習筆記

基本介紹 OpenGl是一個規範,他由顯卡製造商負責提供實現 因此你使用的OpenGl出現了問題,升級對應的顯卡應該就能解決 OpenGl分爲立即渲染模式【固定渲染管道】和核心模式 核心模式可以讓程序對圖形繪製過程擁有更多的控制

原创 BindFlags的作用

作用 BindFlags 是一個枚舉類 BindFlags作爲一個特別的標誌量,在反射中,通過這個標誌量,可以指定搜索到的成員的類型. Type type = typeof(T); FieldInfo[]

原创 深度測試

細節點 深度緩衝是在片段着色器運行之後(以及模板測試(Stencil Testing)運行之後)在屏幕空間中運行的 屏幕空間座標與通過OpenGL的glViewport所定義的視口密切相關 提前深度測試允許深度測試在片段着色器之

原创 混合

丟棄片段 在此之前處理的都是rgb三個通道的數據,第四個通道a存儲的是物體的透明度 stb_image在紋理有透明通道的時候會自動加載,但是我們需要在生成紋理過程中告訴openGl,我們的紋理現在使用alpha通道了 glTe

原创 bug記錄

stackOverflow 在寫掃雷項目的時候導致棧溢出了 然後發現是格子自己調用自己 一般是遞歸調用沒有給結束條件 Math.Sin Unity的角度函數使用的是弧度制 我在使用的時候是角度制導致一個問題 changeS

原创 CreateInstance 方法解析

解析 他會尋找匹配的構造方法來創建對象 CreateInstance(Type, Boolean) true if a public or nonpublic parameterless constructor can matc

原创 try catch的說明

try 當出現異常後程序就直接終止運行了 但是放置在try catch中就可以對該異常進行捕捉,然後打印e的消息 如果在catch程序中繼續throw拋出,那麼後續程序也不會執行,但是finally裏面的代碼一定會執行 但是如果

原创 FGUI與黃金礦工

前言 本來想用FGUI寫一個黃金礦工的遊戲 到最後實現的時候,沒有辦法給UI添加碰撞體和LineRender 只是實現了最簡單的爪子旋轉移動的邏輯 中間踩了一些·FGUI座標轉換的坑 座標空間 當UI發生縮放的時候,邏輯屏幕

原创 迭代器實現

前言 前段時間看c#迭代器的實現,心裏很着急,完全靜不下來,所以也沒有看懂 最近抽時間看了一下C#迭代器的接口設計,然後就理解了 核心 迭代器的本質就是內部保存對源數據的一個索引,然後具有一個遊標CurrIndx,每次Mov

原创 語法分析實現

文章目錄實現FuncParamVar/Var[]SetStackSize行標籤指令解析 實現 首先前面已經說過,語法分析根據每一行的第一個屬性字,然後對接下來的進行預測,如果符合預測,就是正確的指令 那麼首先語法分析 Func

原创 編譯器-詞法分析

總結 詞法分析就是對字符串進行處理,然後輸出對應的屬性字爲語法分析做準備; 如果對某個單詞進行分析後,不屬於任何屬性字,那麼也要按照錯誤處理 因此詞法分析需要使用到許多字符串處理函數 語法分析就是根據給出的第一個屬性字,然後預測

原创 結構體與指針

結構體 #include <stdio.h> #include <malloc.h> typedef struct Book { char* bookName; int bookNum; } Book; void pri

原创 C語言文件讀取函數

相關函數 fgets 讀取一行 feof 判斷文件是否結束 fopen 打開文件 返回一個文件指針 fgetc 讀取一個字節

原创 x86彙編之任務切換

前言 任務切換可以分爲協同和搶佔 協同就是任務自己主動交出控制權,搶佔就是利用中斷,強制從任務手中獲得控制權 N位 任務門和調用門類似,任務門描述符可以放置在GDT,LDT中 當發生中斷的時候,中斷號x8+中斷描述符表基地

原创 彙編語言實模式到保護模式的思考

文章目錄改變加載流程過程重定位任務和特權級流程總結一些疑惑轉移控制權到任務變與不變安全步驟執行流程中斷向量表的變化 改變 32位引入了保護模式,保護模式實現的核心是描述符 它可以存放在內存的任何位置,至於基地址和界限則存放在GD