您可能已经知道,'html5lib'
允许几种方法从内核函数中的import requests
from bs4 import BeautifulSoup
url = 'https://www.gsmarena.com/xiaomi_redmi_note_8_pro-9812.php'
soup = BeautifulSoup(requests.get(url).text, 'html5lib')
for th in soup.select('#specs-list th'):
table = th.find_previous('table')
for ttl in table.select('.ttl'):
print('{:<20} {:<20} {}'.format( th.text, ttl.text, ttl.find_next_sibling('td', {'class':'nfo'}).get_text(strip=True, separator=' ')) )
读取像素数据。它可以是简单的Network Technology GSM / HSPA / LTE
Network 2G bands GSM 850 / 900 / 1800 / 1900 - SIM 1 & SIM 2
Network 3G bands HSDPA 850 / 900 / 1900 / 2100
Network 4G bands LTE band 1(2100), 3(1800), 5(850), 7(2600), 8(900), 40(2300), 41(2500)
Network Speed HSPA 42.2/5.76 Mbps, LTE-A
Launch Announced 2019, August
Launch Status Available. Released 2019, September
Body Dimensions 161.4 x 76.4 x 8.8 mm (6.35 x 3.01 x 0.35 in)
Body Weight 200 g (7.05 oz)
Body Build Front/back glass (Gorilla Glass 5)
Body SIM Hybrid Dual SIM (Nano-SIM, dual stand-by)
Display Type IPS LCD capacitive touchscreen, 16M colors
Display Size 6.53 inches, 104.7 cm 2 (~84.9% screen-to-body ratio)
Display Resolution 1080 x 2340 pixels, 19.5:9 ratio (~395 ppi density)
Display Protection Corning Gorilla Glass 5
Display 500 nits max brightness HDR
Platform OS Android 9.0 (Pie); MIUI 10
Platform Chipset Mediatek Helio G90T (12nm)
... and so on.
或Metal Shading Language
。但是我注意到,在将某些内容写入纹理时,只有texture2d
方法。
这里的问题是read(short2 coord)
方法允许从某些mipmap级别进行采样,这非常方便。开发人员只需要使用sample(float2 coord, [different additional parameters])
创建一个采样器并使用归一化的坐标即可。
但是如果我想写入到纹理的某些write
级别怎么办?事实是,sample
方法没有mipFilter
方法那样的mipmap
参数,而且我找不到任何替代方法。
我非常确定应该有一种方法来选择write
级别以将数据写入纹理,因为mipmap
框架具有解决方案,可以在其中填充纹理的mipmap。
谢谢!
答案 0 :(得分:1)
您可以使用纹理视图来实现。
纹理视图的目的是通过选择基本纹理的级别和切片的子集并潜在地以不同(但兼容)的像素格式读取/写入像素来重新解释基本纹理的内容。
-newTextureViewWithPixelFormat:textureType:levels:slices:
协议上的MTLTexture
方法返回id<MTLTexture>
的新实例,该实例具有在levels
范围内指定的第一级作为其基本MIP级别。通过为每个要写入的Mip级别创建一个视图,可以“定位”原始纹理中的每个级别。
例如,要在2D纹理的第二个mip级别上创建纹理视图,可以调用如下方法:
id<MTLTexture> viewTexture =
[baseTexture newTextureViewWithPixelFormat:baseTexture.pixelFormat
textureType:baseTexture.textureType
levels:NSMakeRange(1, 1)
slices:NSMakeRange(0, 1)];
当将此新纹理作为参数绑定时,其mip级别0
将与其基础纹理的mip级别1
相对应。因此,您可以在着色器中使用普通纹理write
函数来写入所选的mip级别:
myShaderTexture.write(color, coords);