小编ele*_*ect的帖子

我无法加载gluegen-rt.dll 64位库

这是我添加的库:

- gluegen-rt-natives-windows-amd64

- gluegen-rt

- jogl-all-natives-windows-amd64

- jogl-all

这是我得到的例外:

Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: C:\Users\KamyluKuna\Documents\NetBeansProjects\OpenGL\natives\windows-i586\\gluegen-rt.dll at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1828) at java.lang.Runtime.load0(Runtime.java:792) at java.lang.System.load(System.java:1059) at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:624) at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:63) at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:106) at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:487) at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:421) at com.jogamp.common.os.Platform$1.run(Platform.java:317) at java.security.AccessController.doPrivileged(Native Method) at com.jogamp.common.os.Platform.<clinit>(Platform.java:287) at com.jogamp.opengl.GLProfile.<clinit>(GLProfile.java:147) at opengl.Lesson1.AppRoot.initGLObjects(AppRoot.java:50) at opengl.Lesson1.AppRoot.<init>(AppRoot.java:134) at opengl.Lesson1.App.<init>(App.java:14) at opengl.Lesson1.App.main(App.java:41) Java Result: 1

jogl

5
推荐指数
1
解决办法
4493
查看次数

向NetBeans Gradle项目添加库

我决定尝试将libgdx用于图形。但是,它使用gradle来管理程序包;但是我对gradle的经验很少。

我的问题是,如果我有代码的库(.jar文件)。通常在netbeans中,我可以右键单击“库”并选择“添加jar /文件夹”,它将库添加到我的ant文件中,更重要的是,ide现在可以识别.jar并将其公开给自动完成等。

在gradle上,通过将以下内容放入构建,我只得到了显示在“ dependencies”分支中的文件:

dependencies { runtime fileTree(dir: 'libs', include: '*.jar') }

但是,这些库将不会导入,也无法识别它们的存在。gradle的(非常大)在线文档似乎只想处理存储库,而我找不到netbeans gradle的文档。任何帮助将不胜感激。

java gradle libgdx

5
推荐指数
1
解决办法
2365
查看次数

Java,搜索一个元素,如果没有找到,添加它

我对流很陌生。

我想流式传输数组列表geometries EC_Geometry,如果EC_Geometry元素不存在(或者最好equals永远不返回true),那么我添加它。

public void init(GL3 gl3, EC_Mesh mesh) {

    geometries.stream()
            .filter(geometry -> mesh.getGeometry().equals(geometry))
            .findAny()
            .orElse(..?);
}
Run Code Online (Sandbox Code Playgroud)

但我被困在最后一行

如何使用流解决它?

请注意,这equals是我编写的一种检查几何形状是否相同的方法(即:三角形是否对应)

java java-8 java-stream

5
推荐指数
1
解决办法
3054
查看次数

参考扩展功能?

是否有可能像普通函数那样引用扩展函数(参见此处)?

我希望下面的代码可以编译,但现在::String.toSomething还不知道:

fun String.toSomething() = length + 1
val some = listOf("lala", "bebebe").map(::String.toSomething)
Run Code Online (Sandbox Code Playgroud)

kotlin

5
推荐指数
3
解决办法
839
查看次数

GL_TEXTURE_2D与GL_TEXTURE_RECTANGLE

我有一个小程序,呈现黄色三角形两次,一次在帧缓冲的左半部分,一次在右侧.

转储纹理

在此输入图像描述

现在,之后我在屏幕上渲染此帧缓冲区的内容.

如果我在framebuffer构造函数中使用GL_TEXTURE_RECTANGLE,它可以工作:

https://github.com/elect86/Joglus/blob/master/Joglolus/src/joglus/example1/FrameBuffer.java

在绑定纹理时,函数renderFullScreenQuad,第372行:

https://github.com/elect86/Joglus/blob/master/Joglolus/src/joglus/example1/GlViewer.java

并在片段着色器中使用sampler2DRect:

#version 330

out vec4 outputColor;
uniform sampler2DRect texture0;

void main() {
    outputColor = texture(texture0, gl_FragCoord.xy);
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我将所有RECTANGLE更改为2D并且我在fs中使用sample2D,我会在显示结束时获得一个完整的黑色图像(),尽管纹理的转储始终显示正确的图像......我想知道为什么.

jogl texture2d render-to-texture opengl-3

4
推荐指数
1
解决办法
3178
查看次数

Opengl是当今桌面上最好的纹理压缩格式

我没有在网上找到任何有效的更新资源并比较桌面版 OpenGL 的纹理压缩格式。一切要么已经过时,要么适合移动设备。

查看我的平台,我看到许多不同的格式:

GL_ARB_compressed_texture_pixel_storage
GL_ARB_texture_compression
GL_ARB_texture_compression_bptc
GL_ARB_texture_compression_rgtc
GL_EXT_texture_compression_dxt1
GL_EXT_texture_compression_latc
GL_EXT_texture_compression_rgtc
GL_EXT_texture_compression_s3tc
GL_NV_texture_compression_vtc
Run Code Online (Sandbox Code Playgroud)

如果我直接查询,我还有其他一些GL_COMPRESSED_TEXTURE_FORMATS

  public static final int GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 33776;
  public static final int GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 33778;
  public static final int GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 33779;

  public static final int GL_PALETTE4_RGB8_OES = 0x8B90 = 35728;
  public static final int GL_PALETTE4_RGBA8_OES = 0x8B91;
  public static final int GL_PALETTE4_R5_G6_B5_OES = 0x8B92;
  public static final int GL_PALETTE4_RGBA4_OES = 0x8B93;
  public static final int GL_PALETTE4_RGB5_A1_OES = 0x8B94;
  public static final int GL_PALETTE8_RGB8_OES = 0x8B95; …
Run Code Online (Sandbox Code Playgroud)

compression format textures opengl-3 opengl-4

4
推荐指数
1
解决办法
4744
查看次数

Kotlin,关于Number的通用操作

我有以下内容

abstract interface Vec2t<T : Number> {    
    var x: T
    var y: T
}
Run Code Online (Sandbox Code Playgroud)

data class Vec2(override var x: Float, override var y: Float) : Vec2t<Float>

我有一个界面,我定义了几个操作,例如:

interface fun_vector2_common {

    fun abs(res: Vec2, a: Vec2): Vec2 {
        res.x = glm.abs(a.x)
        res.y = glm.abs(a.y)
        return res
    }
}
Run Code Online (Sandbox Code Playgroud)

是否可以abs通过使用泛型来实现?

interface fun_vector2_common<T : Number> {

    fun abs(res: Vec2t<T>, a: Vec2t<T>): Vec2t<T> {
        res.x = glm.abs(a.x)  // error
        res.y = glm.abs(a.y)  // error
        return res
    }
}
Run Code Online (Sandbox Code Playgroud)

然后glm.abs()会根据类型调用相应的?

上面的代码失败了,因为它显然期望a …

generics kotlin

4
推荐指数
1
解决办法
1642
查看次数

如何在 Kotlin 中尝试内联类

1.2.30开始,Kotlin 中似乎可以使用内联类

根据Wasabi375,您可以通过以下方式启用它们:

compileKotlin {
    kotlinOptions {
        freeCompilerArgs += ['-XXLanguage:+InlineClasses']
    }
}
Run Code Online (Sandbox Code Playgroud)

我在我们拥有的一个项目中做到了这一点,但我不断收到大量

Class 'unsigned.ByteKt' is compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler

我尝试清理和构建,使用 将 Gradle 升级到 4.9 allprojects { },但没有任何效果..

这是完整的日志

我该如何解决?

Ps:请注意,那些未签名的类与 Kotlin 1.3 中的实验性未签名类无关

inline class kotlin

4
推荐指数
1
解决办法
949
查看次数

Kotlin,通用添加

是否可以实现通用,比方说,如下所示:

public abstract interface NumberEx {

    abstract fun plus(other: NumberEx): NumberEx
}

abstract interface Vec2t<T : NumberEx> {

    open var x: T
    open var y: T

    fun add(res: Vec2t<T>, a: Vec2t<T>, bX: T, bY: T): Vec2t<T> {
        res.x = a.x + bX
        res.y = a.y + bY
        return res
    }
}
Run Code Online (Sandbox Code Playgroud)

因为这里的编译器抱怨a.x + bXa.y + bY:

类型不匹配.必需:T Found:NumberEx

generics math kotlin

3
推荐指数
1
解决办法
257
查看次数

Cmake 无法识别 MSVC 编译器

这是我第一次遇到这个错误。

我正在尝试克隆openvr并按照他们的说明运行 hello opengl 示例:

cd samples
mkdir build
cd build
cmake .. -G "Visual Studio 14 2015 Win64" -DCMAKE_PREFIX_PATH=C:/Qt/5.6/msvc2013_64/lib/cmake
Run Code Online (Sandbox Code Playgroud)

我得到:

$ cmake .. -G "Visual Studio 14 2015 Win64" -DCMAKE_PREFIX_PATH=C:/Qt/5.6/msvc20                                                                       13_64/lib/cmake
-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler using: Visual Studio 14 2015 Win64
-- Check for working C compiler using: Visual Studio 14 2015 Win64 -- works
-- Detecting …
Run Code Online (Sandbox Code Playgroud)

c++ cmake visual-studio-2015 openvr

3
推荐指数
1
解决办法
4484
查看次数