付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Buffers緩沖原著Ed AngelProfessor of Computer Science, Electrical and Computer Engineering, and Media ArtsUniversity of New Mexico編輯 武漢大學(xué)計(jì)算機(jī)學(xué)院圖形學(xué)課程組ObjectivesIntroduce additional OpenGL buffers OpenGL的各種緩沖區(qū)Learn to read and write buffers數(shù)字圖像緩沖區(qū)寫入操作Learn to use blending混合操作OpenGL的位與像素操作Outline8.1 Buffer緩沖
2、區(qū)8.2 Digital Image數(shù)字圖像8.3 Writing in Buffers緩存寫操作8.4 Bit and Pixel Operations in OpenGL OpenGL中的位操作與像素操作8.1 Buffer緩沖區(qū)(光柵圖形)在計(jì)算機(jī)圖形學(xué)出現(xiàn)后的很長(zhǎng)一段時(shí)間內(nèi)人們處理的主要是幾何對(duì)象例如:點(diǎn)、線、多邊形光柵圖形的出現(xiàn)已有三十多年的歷史,但直到不久前,圖形應(yīng)用程序中也只是間接地讀寫幀緩沖區(qū)雖然點(diǎn)、線、多邊形最終在寫入到幀緩沖區(qū)時(shí),要被光柵化處理,但是在圖形應(yīng)用程序中一般不提供函數(shù)直接讀寫單個(gè)像素8.1 Buffer緩沖區(qū)(現(xiàn)狀)在過去的十年里,許多方法出現(xiàn),這些方法需要直接
3、與構(gòu)成幀緩沖區(qū)中的各種緩沖區(qū)打交道但是有幾種方法需要直接與幀緩沖區(qū)中的像素通信例如:紋理映射、反走樣、組合、融合8.1 Buffer緩沖區(qū)緩沖區(qū)都是離散的內(nèi)存塊已接觸過兩種緩沖區(qū):顏色緩沖區(qū) 與 深度緩沖區(qū)Define a buffer by its spatial resolution (n x m) and its depth (or precision) k, the number of bits/pixel 由其空間分辨率(n x m)和深度(或精度,每個(gè)像素的位數(shù))k確定pixel8.1 Buffer緩沖區(qū)(OpenGL Frame Buffer OpenGL的幀緩沖區(qū))8.1 Bu
4、ffer緩沖區(qū)(各種緩沖區(qū))各種緩沖區(qū)的空間分辨率一樣,但深度值k(即表示一個(gè)像素信息的字長(zhǎng))可以不一樣通常我們只是討論集中在一個(gè)幀緩沖區(qū)組成部分中的一個(gè)緩沖區(qū),因此有時(shí)就直接簡(jiǎn)稱為緩沖區(qū)8.1 Buffer緩沖區(qū)(OpenGL Buffers緩沖區(qū))Color buffers can be displayed顏色緩沖區(qū)用于顯示Front前Back后Auxiliary輔助Overlay重疊Depth深度緩沖區(qū)Accumulation累加緩沖區(qū)High resolution buffer高分辨率緩沖區(qū)Stencil模板緩沖區(qū)Holds masks保存掩碼8.1 Buffer緩沖區(qū)(顏色緩沖區(qū))內(nèi)
5、容要被輸出到顯示設(shè)備上的緩沖區(qū)在雙緩存(第三章)中,顏色緩沖區(qū)由兩個(gè)緩沖區(qū)組成,分別用于讀與寫,稱為前緩沖區(qū)與后緩沖區(qū)如果要生成立體圖像,需要提供左、右緩沖區(qū)8.1 Buffer緩沖區(qū)(緩沖區(qū)深度值k)顏色Color緩沖區(qū)k確定可以表示的顏色多少通常在RGB模式中為24位,在RGBA模式中為32位深度Depth緩沖區(qū)的k值確定深度的分辨率通常是32位,這樣與浮點(diǎn)數(shù)或整數(shù)的精度匹配把緩沖區(qū)k個(gè)n x m平面中的任一個(gè)稱為位平面(bitplane), 空間中特定位置處的k個(gè)元素構(gòu)成一個(gè)像素(pixel)因此一個(gè)像素既可以是一個(gè)字節(jié),也可以是一個(gè)整數(shù),甚至是一個(gè)浮點(diǎn)數(shù),具體與所用的緩沖區(qū)以及信息的存
6、放格式有關(guān)8.1 Buffer緩沖區(qū)(實(shí)現(xiàn)細(xì)節(jié))應(yīng)用程序通常并不知道在幀緩沖區(qū)中各種信息的存放方式幀緩沖區(qū)是在API的內(nèi)部實(shí)現(xiàn)的,對(duì)用戶而言它是一個(gè)黑盒子應(yīng)用程序是通過API提供的函數(shù)向幀緩沖區(qū)發(fā)送(寫入)信息,或者接受(讀出)信息此時(shí)在通常的內(nèi)存與實(shí)現(xiàn)的緩沖區(qū)間傳送的數(shù)據(jù)需要經(jīng)過一定的格式轉(zhuǎn)化這時(shí)需要仔細(xì)考慮數(shù)據(jù)傳送的時(shí)間效率緩沖區(qū)內(nèi)部格式8.2 Digital Image數(shù)字圖像有時(shí)簡(jiǎn)稱為圖像此時(shí)它與把幾何對(duì)象和照相機(jī)組合在一起,通過某種投影過程所得到的結(jié)果(有時(shí)也稱為圖像)不同在程序中的圖像是像素?cái)?shù)組其大小與類型各異,具體與圖像的類型有關(guān)例如,對(duì)于RGB圖像,通過有一個(gè)字節(jié)表示一個(gè)顏色成
7、分,因此可以如下定義512512圖像GLubyte myimage5125123;如果處理的是單色圖像或者灰度圖像,那么可以定義為GLubyte myimage512512;8.2 Digital Image數(shù)字圖像(創(chuàng)建圖像的一種方法)創(chuàng)建圖像的一種方法就是利用程序代碼,例如:為了創(chuàng)建512512圖像,由88紅黑相間方格構(gòu)成,那么代碼如下GLubyte check5125123;int i,j,k;for(i=0;i512;i+) for(j=0;j512;j+) for(k=0;k3;k+) if(8*(i+j)/64)%64) checkij0=255; else checkijk=0;
8、 8.2 Digital Image數(shù)字圖像(其它方法)利用程序代碼生成圖像只能得到有規(guī)則模式的結(jié)果通過直接從數(shù)據(jù)獲取圖像例如從實(shí)驗(yàn)中獲取了一組浮點(diǎn)數(shù),那么可以把它們放縮到0到255區(qū)間中,從而形成一幅灰度圖像創(chuàng)建圖像的第三種方法就是應(yīng)用光學(xué)成像設(shè)備數(shù)碼相機(jī)與攝像機(jī)8.2 Digital Image數(shù)字圖像(圖像的格式)從數(shù)碼設(shè)備采集的圖像是以某種“標(biāo)準(zhǔn)”的格式存儲(chǔ)的最常用格式GIF, TIFF, PS, EPS以及JPEG以某種順序存儲(chǔ)數(shù)據(jù),并進(jìn)行必要的無損壓縮或者有損壓縮編碼都是為了滿足某類應(yīng)用軟件的需要而提出的8.2 Digital Image數(shù)字圖像(PS與EPS)PostScript
9、 (PS)圖像是PostScript語言的一部分,用來控制打印機(jī)把RGB或者亮度值精確編碼到7位ASCII字符集中因此PS圖像可以被很多打印機(jī)以及其它設(shè)備所識(shí)別,但通常文件很大Encapsulated PostScript (EPS)類似于PS,但是提供其它信息以預(yù)覽圖像參考書:Thinking in PostScript從 下載8.2 Digital Image數(shù)字圖像(GIF)CompuServe Incorporated 提出Graphics Interchange Format 顏色索引圖像在圖像中需要存貯一個(gè)顏色表以及索引數(shù)組參考文獻(xiàn) 8.2 Digital Image數(shù)字圖像(TI
10、FF)有兩種形式第一種形式:圖像數(shù)據(jù)的直接編碼頭文件信息描述圖像數(shù)據(jù)的組織形式第二種形式:圖像數(shù)據(jù)的壓縮編碼圖像數(shù)據(jù)含有許多冗余信息,例如圖像中很大的區(qū)域在顏色或強(qiáng)度上變化不大應(yīng)用Lempel-Ziv算法(無損最優(yōu)壓縮算法)參考文獻(xiàn) 8.2 Digital Image數(shù)字圖像(JPEG)JPEG圖像采用失真壓縮算法,應(yīng)用壓縮后數(shù)據(jù)恢復(fù)原始圖像存在一定的誤差因此JPEG圖像具有很高的壓縮比(compression ratio)在原始圖像中的字節(jié)數(shù)與壓縮后數(shù)據(jù)中的字節(jié)數(shù)之比參考文獻(xiàn) 8.2 Digital Image數(shù)字圖像(JPEG壓縮前后) 原始TIFF圖像 壓縮比18的JPEG圖像 壓縮比3
11、7的JPEG圖像幾乎察覺不到8.2 Digital Image數(shù)字圖像(尺寸比較)原始圖像:1200 x1200TIFF: 1 440 198字節(jié)每像素一個(gè)字節(jié),加上198字節(jié)來存儲(chǔ)文件頭和尾信息JPEG: 80 109字節(jié)與38 962字節(jié)EPS: 約是TIFF的兩倍壓縮型TIFF: 尺寸約減少一半8.2 Digital Image數(shù)字圖像(格式與OpenGL)為了從某種格式中解析出像素?cái)?shù)組,需要知道格式的定義這種過程有時(shí)是非常復(fù)雜的OpenGL中不包含任何解析已有圖像格式的函數(shù)與功能在OpenGL中的圖像就是內(nèi)存中存儲(chǔ)的標(biāo)準(zhǔn)數(shù)據(jù)類型的數(shù)組8.2 Digital Image數(shù)字圖像(Imag
12、e Formats)We often work with images in a standard format (JPEG, TIFF, GIF)常用格式標(biāo)準(zhǔn)格式How do we read/write such images with OpenGL?No support in OpenGL OpenGL本身不支持OpenGL knows nothing of image formatsSome code available on WebCan write readers/writers for some simple formats in OpenGL8.2 Digital Image數(shù)字
13、圖像(Displaying a PPM Image)PPM (Portable Pixelmap) is a very simple formatEach image file consists of a header followed by all the pixel dataHeaderP3# comment 1# comment 2 . ment nrows columns maxvaluepixels8.2 Digital Image數(shù)字圖像(Reading the Header-1)FILE *fd;int k, nm;char c;int i;char b100;float s;i
14、nt red, green, blue;printf(enter file namen);scanf(%s, b);fd = fopen(b, r);fscanf(fd,%n ,b);if(b0!=P| b1 != 3)printf(%s is not a PPM file!n, b);exit(0);printf(%s is a PPM filen,b);check for “P3” in first line文件標(biāo)記8.2 Digital Image數(shù)字圖像(Reading the Header-2)fscanf(fd, %c,&c);while(c = #) fscanf(fd, %n
15、, b);printf(%sn,b);fscanf(fd, %c,&c);ungetc(c,fd); skip over comments注釋 bylooking for # in first column8.2 Digital Image數(shù)字圖像(Reading the Data)fscanf(fd, %d %d %d, &n, &m, &k);printf(%d rows %d columns max value= %dn,n,m,k);nm = n*m;image=malloc(3*sizeof(GLuint)*nm);s=255./k;for(i=0;inm;i+)fscanf(fd,
16、%d %d %d,&red, &green, &blue );image3*nm-3*i-3=red;image3*nm-3*i-2=green;image3*nm-3*i-1=blue;scale factor8.2 Digital Image數(shù)字圖像(Scaling the Image Data)We can scale the image in the pipelineglPixelTransferf(GL_RED_SCALE, s);glPixelTransferf(GL_GREEN_SCALE, s);glPixelTransferf(GL_BLUE_SCALE, s);We may
17、 have to swap bytes when we go from processor memory to the frame buffer depending on the processor. If so, we can useglPixelStorei(GL_UNPACK_SWAP_BYTES,GL_TRUE);8.2 Digital Image數(shù)字圖像(The display callback顯示回調(diào))void display()glClear(GL_COLOR_BUFFER_BIT);glRasterPos2i(0,0); glDrawPixels(n,m,GL_RGB, GL_
18、UNSIGNED_INT, image); glFlush();8.3 Writing in Buffers緩存寫操作Conceptually, we can consider all of memory as a large two-dimensional array of pixels 內(nèi)存作為二維矩形的像素陣列We read and write rectangular block of pixels 既可以向緩沖區(qū)中寫入內(nèi)容,也可以從中讀出內(nèi)容Bit block transfer (bitblt) operations以一個(gè)像素塊(位塊,bit blocks)為單位進(jìn)行操作The fra
19、me buffer is part of this memoryframe buffer(destination)目標(biāo)writing of a block位塊寫操作Source源memory8.3 Writing in Buffers緩存寫操作(位塊操作) 在填充多邊形時(shí)每次光柵化一條掃描線 當(dāng)顯示光柵字符時(shí)寫一小塊位 當(dāng)進(jìn)行清除操作時(shí),改變緩沖區(qū)中所有像素的值需要在硬件和軟件方面提供對(duì)位塊進(jìn)行盡可能有效操作的功能稱為位塊傳送(bit-block transfer, bitblt)操作,也稱為光柵化操作(raster operations, raster-ops)8.3 Writing in
20、Buffers緩存寫操作(位塊復(fù)制)假設(shè)要把源緩沖區(qū)中的一塊nm像素復(fù)制到目標(biāo)緩沖區(qū)中,那么進(jìn)行這種操作的位塊傳送函數(shù)應(yīng)當(dāng)具有形式write_block (source, n, m , x, y, destination, u, v);8.3 Writing in Buffers緩存寫操作(實(shí)現(xiàn)細(xì)節(jié))此時(shí)有許多細(xì)節(jié)需要注意,例如:源塊超過了目標(biāo)緩沖區(qū)邊界時(shí)該如何處理?該操作的本質(zhì)在于單個(gè)函數(shù)調(diào)用改變了整個(gè)目標(biāo)塊從硬件的角度來看,這種處理與幾何對(duì)象的處理沒有任何共同點(diǎn)針對(duì)位塊傳送操作優(yōu)化的硬件具有與幾何操作的流水線硬件完全不同的框架在OpenGL中包含兩個(gè)流水線體系8.3.1 Writing M
21、odel寫入操作的模型和讀寫內(nèi)存不同,位塊傳送操作有多種寫入方式 Read destination pixel before writing source在寫入源像素前可讀出目標(biāo)緩沖區(qū)中的像素讀出像素寫入像素8.3.1 Writing Model寫入操作的模型(像素邏輯運(yùn)算)源像素: s 目標(biāo)像素: d寫入的目標(biāo)像素: d那么d = f(s, d)其中s = 0 or 1, d = 0 or 1對(duì)1位的源位和目標(biāo)位,有24= 16種定義方式378.3.1 Writing Model寫入操作的模型Bit Writing Modes16種邏輯運(yùn)算Source and destination bit
22、s are combined bitwise源像素與目標(biāo)像素逐位結(jié)合在一起16 possible functions (one per column in table)有16種可選的函數(shù)(表格中的每列為一種)replaceORXOR8.3.2 XOR mode異或模式Recall from Chapter 3 that we can use XOR by enabling logic operations and selecting the XOR write mode在第三章中我們?cè)せ钸壿嬤\(yùn)算功能,應(yīng)用XOR運(yùn)算實(shí)現(xiàn)了橡皮線繪圖方式XOR is especially useful for
23、swapping blocks of memory such as menus that are stored off screenXOR模式在要把菜單從屏幕上移除,進(jìn)行內(nèi)存塊切換時(shí)非常有用如果兩個(gè)相應(yīng)bit位相同,則結(jié)果為0,否則為1。即: 00=0, 10=1, 01=1, 11=08.3.2 XOR mode異或模式If S represents screen and M represents a menu, the sequence如果S表示屏幕像素,M表示菜單的像素,那么 S S M M S M S S M swaps the S and M 就會(huì)交換S與M的內(nèi)容這樣當(dāng)菜單從屏幕上消
24、失后,就會(huì)自動(dòng)恢復(fù)原來屏幕上的內(nèi)容S M M = SS MS M S=M8.4 Bit and Pixel Operations in OpenGL (圖像的像素位數(shù))假設(shè)數(shù)字圖像是由k位像素組成,這里k可以是1(二進(jìn)制圖像,位圖bitmap), , 32(RGBA圖像)或者更大的數(shù)字(更高分辨率的圖像)雖然1位圖像(位圖)與8位(1字節(jié))或24位(3字節(jié))圖像在原理上沒有任何區(qū)別,但硬件和軟件上通常把它們區(qū)別處理從硬件的角度來說,位圖處理的實(shí)現(xiàn)與邏輯運(yùn)算相關(guān),并且一次只需處理緩沖區(qū)中的一個(gè)位平面從軟件的角度來說,位圖與多位圖像的應(yīng)用范圍完全不同。通常位圖用來表示字體、掩碼以及圖案8.4 Bi
25、t and Pixel Operations in OpenGL (位塊操作)Bitblt操作對(duì)于位圖才有意義字體、光標(biāo) 對(duì)于多位像素和多位顏色值,這些操作的含義不是很明確此時(shí)16種操作的結(jié)果通常不對(duì)應(yīng)于有意義的結(jié)果8.4.1OpenGL Buffers and the Pixel Pipeline緩存與像素流水線(結(jié)構(gòu)支持) OpenGL實(shí)現(xiàn)了單獨(dú)的像素流水線 提供了一組緩沖區(qū)數(shù)據(jù)可以在這些緩沖區(qū)之間傳送,也可以在緩沖區(qū)與處理器內(nèi)存間傳送根據(jù)所用緩沖區(qū)的不同,可以在其中存儲(chǔ)顏色索引、顏色分量和深度值等只有顏色緩沖區(qū)的內(nèi)容可以顯示在屏幕上8.4.1OpenGL Buffers and the
26、Pixel Pipeline(Raster Position光柵位置)OpenGL maintains a raster position as part of the state OpenGL維持了一個(gè)當(dāng)前光柵位置,它是狀態(tài)的一部分可看作在屏幕坐標(biāo)系中定義的內(nèi)部光標(biāo),指示光柵化像素寫入的位置 Set by glRasterPos*()由此設(shè)置glRasterPos3f(x, y, z);三個(gè)浮點(diǎn)數(shù)定義了一個(gè)光柵位置,在變換為屏幕坐標(biāo)前要經(jīng)過模型-視圖變換和投影變換8.4.1OpenGL Buffers and the Pixel Pipeline(光柵位置的屬性)The raster pos
27、ition is a geometric entity光柵位置是一個(gè)幾何實(shí)體,存儲(chǔ)為四維齊次坐標(biāo)This position in the frame buffer is where the next raster primitive is drawn在幀緩沖區(qū)中這個(gè)位置就是接下來光柵化像素被繪制的地方如果光柵位置不在視景體內(nèi),就不進(jìn)行像素寫入操作,整個(gè)位圖或像素矩形會(huì)被裁剪掉Passes through geometric pipeline要經(jīng)過幾何流水線的處理Eventually yields a 2D position in screen coordinates最終產(chǎn)生屏幕坐標(biāo)上的一個(gè)二維
28、位置對(duì)像素或位的寫入采用光柵單位(整數(shù)),像素中心位于兩個(gè)整數(shù)的中間值(OpenGL的做法)8.4.1OpenGL Buffers and the Pixel Pipeline(Buffer Selection緩沖區(qū)的選擇)OpenGL can draw into or read from any of the color buffers (front, back, auxiliary) OpenGL可以向任何緩沖區(qū)中寫入內(nèi)容,或者從中讀取內(nèi)容Default to the back buffer默認(rèn)的是后緩沖區(qū)Change with可以用glDrawBuffer and glReadBuffe
29、r 改變當(dāng)前的讀寫緩沖區(qū)Note that format of the pixels in the frame buffer is different from that of processor memory and these two types of memory reside in different places注意在幀緩沖區(qū)中像素的格式與它在處理器的內(nèi)存中的格式是不同的Need packing and unpacking需要打包與解包Drawing and reading can be slow繪制與讀取可能會(huì)很慢 8.4.1OpenGL Buffers and the Pixel
30、 Pipeline (The Pixel Pipeline像素流水線)OpenGL has a separate pipeline for pixels OpenGL為像素處理專門設(shè)計(jì)了一個(gè)流水線Writing pixels involves寫入像素需要下述操作Moving pixels from processor memory to the frame buffer從處理器內(nèi)存中把像素移動(dòng)到幀緩沖區(qū)Format conversions進(jìn)行必要的格式轉(zhuǎn)化Mapping, Lookups, Tests映射、查找以及測(cè)試Reading pixels讀取像素需要下述操作Format convers
31、ion格式轉(zhuǎn)化 8.4.1OpenGL Buffers and the Pixel Pipeline (流水線解釋)解包(unpack)把像素從用戶程序的格式轉(zhuǎn)化為OpenGL內(nèi)部所用的格式這些新像素可以通過用戶定義的查找表映射到新值所得結(jié)果經(jīng)過一系列測(cè)試后確定是否有必要把像素寫到幀緩沖區(qū)中;如果可以寫入,那么寫入的方式是什么例如,可以劃出一塊區(qū)域,里面不繪制任何內(nèi)容;或者利用邏輯操作確定如何把像素與幀緩沖區(qū)中已有數(shù)據(jù)組合在一起從幀緩沖區(qū)中把信息讀取到處理器內(nèi)存,需要進(jìn)行打包(pack):即從OpenGL內(nèi)部格式轉(zhuǎn)化為程序可用的格式8.4.2 Bitmaps位圖OpenGL treats 1-
32、bit pixels (bitmaps) differently from multi-bit pixels (pixelmaps) OpenGL對(duì)1位像素(位圖)與多位像素(像素圖)采用不同的處理方法Bitmaps are masks that determine if the corresponding pixel in the frame buffer is drawn with the present raster color可以認(rèn)為位圖是掩碼,它確定在幀緩沖區(qū)中對(duì)應(yīng)像素是否需要用當(dāng)前光柵顏色繪制0 color unchanged顏色不改變1 color changed based o
33、n writing mode基于不同的寫入模式改變顏色Bitmaps are useful for raster text對(duì)于光柵文本處理,位圖是非常有用的GLUT font: GLUT_BIT_MAP_8_BY_138.4.2 Bitmaps位圖(Raster Color光柵顏色)Same as drawing color set by glColor*() 用glColor*()設(shè)置的繪圖顏色Fixed by last call to glRasterPos*()最后一次調(diào)用glRasterPos*()時(shí)的當(dāng)前繪圖顏色作為光柵顏色Geometry drawn in blue,Ones in
34、 bitmap use a drawing color of red 這樣幾何體以藍(lán)色繪制,而位圖則采用紅色glColor3f(1.0, 0.0, 0.0);glRasterPos3f(x, y, z);glColor3f(0.0, 0.0, 1.0);glBitmap(.glBegin(GL_LINES); glVertex3f(.)8.4.2 Bitmaps位圖(Drawing Bitmaps繪制位圖)glBitmap(width, height, x0, y0, xi, yi, bitmap)first raster position開始光柵位置second raster position下一光柵位置offset from raster position相對(duì)當(dāng)前光柵位置的偏移值,位圖的左下角increments in raster posi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦燈和自救器管理工安全生產(chǎn)知識(shí)競(jìng)賽考核試卷含答案
- 玻璃配料工崗前操作能力考核試卷含答案
- 重質(zhì)純堿工創(chuàng)新思維能力考核試卷含答案
- 咖啡師崗前理論技能考核試卷含答案
- 繼電器裝配工復(fù)試水平考核試卷含答案
- 2025年上海中僑職業(yè)技術(shù)大學(xué)輔導(dǎo)員考試參考題庫附答案
- 2025年三峽大學(xué)科技學(xué)院輔導(dǎo)員招聘?jìng)淇碱}庫附答案
- 臨床檢驗(yàn)類設(shè)備組裝調(diào)試工崗前操作技能考核試卷含答案
- 制漿廢液回收工安全文化知識(shí)考核試卷含答案
- 2026屆云南省昆明市五華區(qū)數(shù)學(xué)高二第一學(xué)期期末考試試題含解析
- 老年人夏季健康知識(shí)講座
- 部編版六年級(jí)語文期末復(fù)習(xí)易錯(cuò)題專題練習(xí)
- 2025年深圳非高危安全管理員和企業(yè)負(fù)責(zé)人習(xí)題(有答案版)(1)1
- 飛行汽車課件
- 春節(jié)花草養(yǎng)護(hù)知識(shí)培訓(xùn)
- 消防安全隱患排查清單
- 新能源汽車火災(zāi)撲救課件
- 紅酒倒酒知識(shí)培訓(xùn)總結(jié)報(bào)告課件
- 電大??啤豆残姓W(xué)》簡(jiǎn)答論述題題庫及答案
- 2025成人高考全國(guó)統(tǒng)一考試專升本英語試題及答案
評(píng)論
0/150
提交評(píng)論