当我尝试在我的Android NDK项目中包含任何类似矢量的C++类时(使用最新的NDK r5b),我得到如下错误...
Compile++ thumb : test-libstl <= test-libstl.cpp
/Users/nitrex88/Desktop/Programming/EclipseProjects/STLTest/jni/test-libstl.cpp:3:18: error: vector: No such file or directory
在线报道此问题的其他人通过添加声称成功
APP_STL := stlport_static
到他们的Application.mk文件.我已经完成了这个,并尝试了APP_STL的所有其他可能的值.我已经清理到项目,运行ndk-build干净,删除了obj和libs文件夹,仍然在我编译它时找不到矢量类.我已经在这个问题上工作了好几个星期(自NDK r5问世以来),如果有人有任何建议,我会非常感激.谢谢!
我想在我的Android应用程序中使用本机代码中的cURL库(使用NDK r5b,最新版本).在线研究之后,似乎在android中使用cURL的唯一方法是用curl构建整个android源码树,不知何故,这会为cURL生成必要的配置文件,以便在Android上运行.我没有任何从头开始构建android源代码的经验,并且想知道是否有一种方法可以在Android中使用cURL库而无需从源代码重建android.理想情况下,能够将cURL用作静态或共享库将是完美的.我试着按照这里提到的步骤......
http://curl.haxx.se/mail/lib-2009-12/0071.html
但最终得到文件curlrules.h中的错误 CURL_SIZEOF_LONG definition is missing!
我假设这些错误是由于没有我提到的配置文件,但上面链接中的步骤没有提到任何和报告的成功.有任何想法吗?
我正在Opengl几何着色器中生成地形,并且无法计算照明法线.我在每个帧中动态生成地形,并在几何着色器中实现了perlin噪声函数.因此,我需要一种基于噪声函数(无纹理或任何东西)计算每顶点法线的有效方法.我可以采用2面的交叉积来得到面法线,但是它们是用几何体动态生成的,所以我不能再返回并平滑顶点法线的面法线.如何使用在y平面中生成地形高度的噪声函数(因此高度在1和-1之间),即时获取顶点法线.我相信我必须为每个顶点对噪声函数进行4次采样,但我尝试了类似下面的内容并且它不起作用......
vec3 xP1 = vertex + vec3(1.0, 0.0, 0.0);
vec3 xN1 = vertex + vec3(-1.0, 0.0, 0.0);
vec3 zP1 = vertex + vec3(0.0, 0.0, 1.0);
vec3 zN1 = vertex + vec3(0.0, 0.0, -1.0);
float sx = snoise(xP1) - snoise(xN1);
float sz = snoise(zP1) - snoise(zN1);
vec3 n = vec3(-sx, 1.0, sz);
normalize(n);
return n;
Run Code Online (Sandbox Code Playgroud)
以上实际产生的照明像perlin噪音一样四处移动!那么关于如何正确获得每顶点法线的任何建议?
我无法弄清楚如何在opengl es 2.0 for iphone中为我的地形使用顶点缓冲区对象.这是静态数据所以我希望通过使用VBO来提高速度.在常规OpenGL中,我使用显示列表和着色器没问题.但是,在opengl es 2.0中,我必须将顶点数据作为属性发送到着色器,并且不知道它如何与VBO一起工作.顶点缓冲区如何知道它在调用时将顶点数据绑定到哪个属性?这在opengl es 2.0中是否可行?如果没有,还有其他方法可以优化我的地形渲染是静态的吗?
我正在使用着色器开发一个OpenGL 2.1应用程序,我的每片段光照有问题.当我的场景初始加载时,照明是正确的,但是当我在场景中导航时,灯光会随着"相机"移动,而不是停留在静态位置.例如,如果我将光线照射到右侧,则物体的右侧将被照亮.如果我然后将相机移动到物体的另一侧并指向相反的方向,则光线仍然位于物体的右侧(而不是像现在一样在左侧).我假设我在错误的坐标系中计算光照,这导致了错误的行为.我按照以下方式计算照明......
在顶点着色器中......
ECPosition = gl_ModelViewMatrix * gl_Vertex;
WCNormal = gl_NormalMatrix * vertexNormal;
Run Code Online (Sandbox Code Playgroud)
其中vertexNormal是对象/模型空间中的法线.
在片段着色器中......
float lightIntensity = 0.2; //ambient
lightIntensity += max(dot(normalize(LightPosition - vec3(ECPosition)), WCNormal), 0.0) * 1.5; //diffuse
Run Code Online (Sandbox Code Playgroud)
例如,LightPosition是(100.0,10.0,0.0),如上所述,它将光照在世界的右侧.我不确定的部分是gl_NormalMatrix部分.我不确定这个矩阵是什么以及它将我的法线放入什么样的坐标空间(我假设世界空间).如果将法线放入世界空间,那么我认为问题在于ECPosition在眼睛空间中而LightPosition和WCN在世界空间中.关于这一点似乎不对,但我无法弄清楚.我也尝试将ECPosition放入世界空间我乘以我自己的modelMatrix,它只包含我为使坐标进入世界空间所做的转换,但这不起作用.如果我需要提供有关我的着色器或代码的其他信息,请告诉我.
是否可以使JPA为其连接使用SSL.我不太了解JPA,因此我无法提供有关我正在使用的版本和提供程序的许多详细信息,但这里是我的persistence.xml文件的剥离版本.是否有可以添加的属性使其使用安全连接?
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="MY_PERSISTENCE_UNIT" transaction-type="RESOURCE_LOCAL">
<!-- declare class entities here -->
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://URL_TO_SERVER" />
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.user" value="USERNAME" />
<property name="javax.persistence.jdbc.password" value="PASSWORD" />
<!-- Optimize database writes to use batching. -->
<property name="eclipselink.jdbc.batch-writing" value="JDBC" />
<!-- Avoids flush being triggered before every query execution. -->
<property name="eclipselink.persistence-context.flush-mode"
value="COMMIT" />
<!-- Configure connection pool. -->
<property name="eclipselink.jdbc.connections.initial" value="1" />
<property name="eclipselink.jdbc.connections.min" value="64" />
<property name="eclipselink.jdbc.connections.max" value="64" /> …Run Code Online (Sandbox Code Playgroud)