㈠ 我的webGL代碼怎麼沒有效果
這篇主要記錄WebGL的一些基本要點,順便也學習下如何使用FBO與環境貼圖。先看下效果圖(需要支持WebGL,Chrome,火狐,IE11)。
主要實現過程如下,先用FBO輸出當前環境在立方體紋理中,再畫出當前立方體,最後畫球,並且把FBO關聯的紋理貼在這個球面上。
開始WebGL時,最好有些OpenGL基礎,在前面講Obj完善與MD2時,大家可能已經發現了,因為著色器的添加使用,原來一些Opengl大部分API已經沒有使用。WebGL就和這差不多,大部分功能是著色器完成主要功能,記錄下主要過程,大家可以比較下前面的,看看是不是很像,為了熟悉WebGL基本功能,本文沒有利用比較完善的框架,只是用到一個幫助計算矩陣的框架(gl-matrix.js).
和使用OpenGL一樣,我們要初始化使用環境,提取一些全局使用量。相關代碼如下:
初始化:
var gl;//WebGLRenderingContext var cubeVBO;//Cube buffer ID var sphereVBO;//球體VBO var sphereEBO;//球體EBO var cubeTexID;//立方體紋理ID var fboBuffer;//楨緩存對象 var glCubeProgram;//立方體著色器應用 var glSphereProgram;//球體著色器應用 var fboWidth = 512;//楨緩存綁定紋理寬度 var fboHeight = 512;//楨緩存綁定紋理高度 var targets;//立方體貼圖六個方向 var pMatrix = mat4.create();//透視矩陣 var vMatrix = mat4.create();//視圖矩陣 var eyePos = vec3.fromValues(0.0, 1.0, 0.0);//眼睛位置 var eyeLookat = vec3.fromValues(0.0, -0.0, 0.0);//眼睛方向 var spherePos = vec3.fromValues(0.0, -0.0, 0.0);//球體位置 var canvanName; function webGLStart(cName) { canvanName = cName; InitWebGL(); InitCubeShader(); InitSphereShader(); InitCubeBuffer(); InitSphereBuffer(); InitFBOCube(); //RenderFBO(); gl.clearColor(0.0, 0.0, 0.0, 1.0); gl.enable(gl.DEPTH_TEST); tick(); } function InitWebGL() { //var canvas = document.getElementById(canvanName); InitGL(canvanName); } function InitGL(canvas) { try { //WebGLRenderingContext gl = canvas.getContext("experimental-webgl"); gl.viewportWidth = canvas.width; gl.viewportHeight = canvas.height; targets = [gl.TEXTURE_CUBE_MAP_POSITIVE_X, gl.TEXTURE_CUBE_MAP_NEGATIVE_X, gl.TEXTURE_CUBE_MAP_POSITIVE_Y, gl.TEXTURE_CUBE_MAP_NEGATIVE_Y, gl.TEXTURE_CUBE_MAP_POSITIVE_Z, gl.TEXTURE_CUBE_MAP_NEGATIVE_Z]; } catch (e) { } if (!gl) { alert("你的瀏覽器不支持WebGL"); } }
在這里,我們初始化在網頁中WebGL的上下方環境,並給出一系列初始化過程。下面先給出房間,也就是其中立方體的相關代
㈡ 在sql server中cube的用法是什麼該怎麼使用cube
cube 用法和 ROLLUP 差不多。
功能上面, ROLLUP用的比較多, CUBE用的比較少。
你可以看看那個附件,裡面有比較清楚的例子,你可以對比一下實際的執行效果。
㈢ CUBECLOUD開通後怎麼使用
注冊有兩種方法。 第一種 :直接在網上申請登錄你使用的銀行網站首頁點擊「網上銀行注冊」,按照網頁相關的提示進行自助注冊。注冊成功後即時開通網上銀行服務。 如需進行B2C交易,請在注冊時選擇開通「電子商務」功能,然後由您本人攜帶有效身份證件及已注冊的卡到櫃台申請之後方可支付 第二種:請您本人持有效身份證件(開卡證件)及卡,到提供個人網上銀行服務的網點櫃面申請注冊。如需通過網上銀行向任意他人賬戶或本人非網銀注冊賬戶轉賬匯款或進行B2C在線購物,請一同開通網上銀行的「對外轉賬功能」及「電子商務功能」之後方可支付 使用方法:在購物等場所,在選擇服務或者商品後一般會有支付界面,請選擇網銀支付,並且選你所在的銀行網銀登錄並支付即可。
㈣ sql中的cube怎麼用
要使用cube,首先要了解GROUP BY。 cube 生成的結果集顯示了所選列中值的所有組合的聚合。cube將返回的更多的可能組合
㈤ 在webgl中怎麼給立方體貼紋理
<script id="shader-fs" type="x-shader/x-fragment">
#ifdef GL_FRAGMENT_PRECISION_HIGH
precision highp float;
#else
precision mediump float;
#endif
uniform samplerCube sTexture;
varying vec3 v3TexCoord;
void main(void){
gl_FragColor = textureCube(sTexture,v3TexCoord);
}
</script>
<script type="text/javascript">
function start() {
㈥ rollup函數的使用
ROLLUP/CUBE基本語法,ROLLUP/CUBE的使用語法如下:
SELECT [column,] group_function(column). . .
FROMtable
[WHERE condition]
[GROUP BY [ROLLUP/CUBE] group_by_expression]
[HAVING having_expression];
[ORDER BYcolumn];
使用ROLLUP/CUBE,必須具備:1.查詢語句為分組函數(group function)查詢。最常見的有:AVG, SUM, MAX, MIN, COUNT等都是分組函數。2. ROLLUP/CUBE的使用位置在GROUP BY後面。
Oracle的GROUP BY語句除了最基本的語法外,還支持ROLLUP和CUBE語句。如果是Group by ROLLUP(A, B, C)的話,首先會對(A、B、C)進行GROUP BY,然後對(A、B)進行GROUP BY,然後是(A)進行GROUP BY,最後對全表進行GROUP BY操作。
如果是GROUP BY CUBE(A, B, C),則首先會對(A、B、C)進行GROUP BY,然後依次是(A、B),(A、C),(A),(B、C),(B),(C),最後對全表進行GROUP BY操作。 grouping_id()可以美化效果。
除了使用GROUPING函數,還可以使用GROUPING_ID來標識GROUP BY的結果。 也可以 Group by Rollup(A,(B,C)) ,Group by A Rollup(B,C)。
(6)web中cube怎麼用擴展閱讀
ROLLUP: GROUP BY A, B會對A和B出現的每種可能性進行分組。而GROUP BY ROLLUP(A, B)會對A和B出現的每種可能性分組,A的每種可能性分組,最後計算所有的情況。
例如:
rollup(a,b) 包括:(a,b)、(a)、()
rollup(a,b,c) 包括:(a,b,c)、(a,b)、(a)、()
CUBE: 和ROLLUP類似,GROUP BY CUBE(A, B)會對A和B出現的每種可能性分組,A的每種可能性分組,B的每種可能性分組,最後計算所有的情況。
Oracle為了解決引入ROLLUP和CUBE後,匯總和NULL值無法區分的情況,提供了GROUPING、GROUPING_ID和GROUP_ID三個函數。
例如: cube(a,b) 包括:(a,b)、(a)、(b)、() cube(a,b,c) 包括:(a,b,c)、(a,b)、(a,c)、(b,c)、(a)、(b)、(c)、()
㈦ cube格式怎麼弄
摘要 一種Cubicomp PictureMaker 點陣文件。
㈧ 如何使用AssetBundle打包腳本文件
打包AssetBundle的方法:
1.創建一個空的Prefab,命名Cube,然後創建一個Cube,將其拉到剛創建好的Prefab
2.新建一個腳本ExportAssetBundles.cs(代碼來自官方文檔),保存在Asset/Editor目錄下
//在Unity編輯器中添加菜單
[MenuItem("Assets/Build AssetBundle From Selection")]
static void ExportResourceRGB2()
{
// 打開保存面板,獲得用戶選擇的路徑
string path = EditorUtility.SaveFilePanel("Save Resource", "", "New Resource", "assetbundle");
if (path.Length != 0)
{
// 選擇的要保存的對象
Object[] selection = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
//打包
BuildPipeline.BuildAssetBundle(Selection.activeObject, selection, path, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets, BuildTarget.StandaloneWindows);
}
}
這時我們將看到Asset下面出現Build AssetBundle From Selection和Build Scene
3.選中預設Cube,運行Build AssetBundle From Selection。這時會彈出一個保存框,將其命名為cube.unity3d(這里為了測試方便,放在c盤。實際項目中,我們是需要將他們放在web伺服器,供所有客戶端下載更新)
4.新建一個場景scene1.unity,上面放置幾個模型,然後保存
5.選中該場景,在之前的ExportAssetBundles.cs腳本中添加打包場景的函數,運行Assets->Build Scene,保存為scene1.unity3d(這里為了測試方便,也放在c盤)
[MenuItem("Assets/Save Scene")]
static void ExportScene()
{
// 打開保存面板,獲得用戶選擇的路徑
string path = EditorUtility.SaveFilePanel("Save Resource", "", "New Resource", "unity3d");
if (path.Length != 0)
{
// 選擇的要保存的對象
Object[] selection = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
string[] scenes = {"Assets/scene1.unity"};
//打包
BuildPipeline.BuildPlayer(scenes,path,BuildTarget.StandaloneWindows,BuildOptions.BuildAdditionalStreamedScenes);
}
}
注意事項
a.AssetBundle的保存後綴名可以是assetbundle或者unity3d
b.BuildAssetBundle要根據不同的平台單獨打包,BuildTarget參數指定平台,如果不指定,默認的webplayer
㈨ 求教,如何用Java的代碼創建一個CUBE
有兩個方法可以實現:
一個是mkdir():創建此抽象路徑名指定的目錄。
另外一個是mkdirs(): 創建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄。
比如你想在A文件夾創建一個B文件夾,並在B文件夾下創建c和D文件夾,可以用下面的代碼實現:
import java.io.File;
public class Test {
public static void main(String args[]) {
File file = new File("D:\\A\\B\\C");
file.mkdirs();
file = new File("D:\\A\\B\\D");
file.mkdir();
}
}
㈩ web cube的定義
Cube運算符生成的結果集是多維數據集。多維數據集是事實數據的擴展,事實數據即記錄個別事件的數據。擴展建立在用戶打算分析的列上,這些列稱為維。多維數據集是一個結果集,其中包含了各維度的所有可能組合的交叉表格。